[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: copy/remove weirdness

From: Joe Drew <hoserhead_at_woot.net>
Date: 2004-03-31 19:20:34 CEST

Ben Collins-Sussman writes:

> On Wed, 2004-03-31 at 10:53, Joe Drew wrote:
>
>> Why shouldn't I be able to say "svn cp -r FOO file.c ."? Subversion should
>> know enough to look in the repository for this.
>
> Yes, I agree. In a perfect, world, this is about 1 of 27 ways in which
> the svn client could attempt to read the user's mind and be more
> friendly.

Hopefully one of several going-to-be-implemented ways. :)

> At the moment, however, the mere act of referring to a working-copy
> object is *exactly* equivalent to asking svn to look for the object in
> an .svn/entries/ file. But if the object is deleted, it's not in the
> entries file anymore. Until we change this implementation detail,
> however, deleted items must be resurrected by talking directly to the
> repository.

Ok. So long as this is a known issue, I'm happy.

>> > What's misleading here? You've asked for a path that doesn't exist in
>> > revision 4, and that's exactly what it told you.
>>
>> The misleading bit is that it acts differently from PREV/COMMITTED. There's
>> no indication in any documents that I've read (and, in fact,
>> PREV/COMMITTED's mention in the book seems to say the opposite) that it
>> relies on a working copy.
>>
>
> What's unclear in the book? I'd like to understand the source of
> confusion.

Right from the book:
HEAD The latest revision in the repository.
BASE The "pristine" revision of an item in a working copy.
COMMITTED The last revision in which an item changed before (or at) BASE.
PREV The revision just before the last revision in which an item changed.
(Technically, COMMITTED - 1).

BASE certainly refers to a working copy. The wording on COMMITTED and PREV
("item" in particular) implies to me, though, that it can equally well refer
to URLs or working copies. Now that I've re-read it, though, it is clear
that they transitively inherit BASE's reliance on a working copy. A note
specifically saying that, along with better error messages and/or an
implemented RFE below would be very welcome.

Here is how I would word such a note:

NOTE: BASE, COMMITTED and PREV all refer to the working copy, and as such do
not operate on repository URLs.

> Again, though: I will grant you that these two keywords *could* be
> hitting the repository URLs as a means of converting the keywords into
> real numbers. Perhaps we should file this as an enhancement request.

I'd very much like a "try repository URLs when local resolution fails" RFE.
I don't know what your long-term plans are for moving from .svn/entries, but
that'd be a nice stopgap measure.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Mar 31 20:47:08 2004

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.