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

Re: Incorrect LastChangedRev in working copy after committing directory move + modified file in subdir

From: Vincent Lefevre <vincent-svn_at_vinc17.net>
Date: Wed, 4 Jul 2012 15:39:37 +0200

On 2012-07-04 14:01:36 +0100, Philip Martin wrote:
> Vincent Lefevre <vincent-svn_at_vinc17.net> writes:
> > On 2012-07-04 13:28:21 +0100, Philip Martin wrote:
> >>
> >> Where would the revision 3 come from? LastChangedRev is 2. That's what
> >> Subversion's cheap copy means.
> >
> > Yes, but I meant that LastChangedRev could be 3 after a move.
> > I don't think this contradicts cheap copy: when doing
> >
> > svn cat file:///tmp/my-test-svn/svn/dir2/file_at_3
> >
> > Subversion gets the file via a COPY node or something like that
> > (I don't know the exact internals) as the file hasn't changed,
> > and it could get LastChangedRev from it.
> No, it doesn't follow a copy. dir2_at_3 has a reference to the the same
> child object as dir1_at_2. dir2/file_at_3 is exactly the same object as
> dir1/file_at_2. That's what a cheap copy means.

But how does Subversion know that dir2/file_at_3 is the same object as
dir1/file_at_2? It must follow some reference, and if a LastChangedRev
is associated to each reference in the internal data structures,
Subversion will get the correct revision. At worst, you will only
lose a constant factor in time and memory.

> > My point is that <URL>@<LastChangedRev> should always be a valid
> > reference to the file, and it should be equivalent to <URL>@HEAD
> > or just <URL>.
> That's not the way it works. I think you want:
> -r<LastChangedRev> <URL>@<Revision>
> i.e. take the current URL_at_Revision and go back to LastChangedRev.

Well, I think that the Header keyword is really confusing because it
just gives <URL> and <LastChangedRev>, while if a URL and revision
are given together, one would expect <URL> and <Revision> (or some
equivalent value).

Vincent Lefèvre <vincent@vinc17.net> - Web: <http://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
Received on 2012-07-04 15:40:13 CEST

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.