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

Re: Branch causes missing revs and errors merging

From: Frodak Baksik <frodak17_at_gmail.com>
Date: 2007-02-14 17:11:28 CET

On 2/13/07, Steve Bakke <steven.bakke@amd.com> wrote:
>
> On 2/13/07 5:48 PM, "Phillip Susi" <psusi@cfl.rr.com> wrote:
>
> > Ryan Schmidt wrote:
> >>> Another way to duplicate this problem is to copy a branch from a
> >>> version other than HEAD. For instance, if HEAD is at 7, and you svn
> >>> copy -r 4 /repo/trunk /repo/branch, then the revisions 5, 6, and 7 can
> >>> not be found in /repo/branch, but 4 can be.
> >>
> >> I'm having trouble following all this, and it would be easier if you
> >> could provide a series of svn commands, starting from creating a new
> >> empty repository, ending with the output that you think is wrong, so
> >> that we can try that same set of commands to see what's going on.
> >
> > I believe the commands I used were something like this:
> >
> > svnadmin init /repo
> > svn checkout /repo
> > mkdir trunk
> > echo foo > trunk/foo
> > svn add trunk
> > svn commit
> > svn update
> > echo bar > trunk/bar
> > svn add trunk/bar
> > svn commit
> > echo baz > trunk/baz
> > svn add trunk/baz
> > svn commit
> > svn update -r1
> > svn copy . /repo/branch
> >
> > At this point the repository head is at rev 4 but you have a branch
> > forked off from rev 1. An svn ls /repo/branch works, but then fails (
> > saying the path can not be found ) if you add a -r3 or -r2, then works
> > again with -r1.
> >
> > If /repo/branch can be found in HEAD, and has history that traces back
> > to rev 1 ( run an svn log on it and it shows the history all the way
> > back to r1 ), then you should be able to find it in all revs between 1
> > and HEAD.
> >
>
> Wow, that's interesting. Whether or not this was intentional behavior by
> svn, it certainly smells like a bug. By definition, that last copy
> operation should have /repo/branch existing at r4.
>
> -Steve
>

I've just tried this out. The branch doesn't exist in r1, but only in
r4. From the svn log --help output: "Logs follow copy history by
default." This can be changed by using the --stop-on-copy option.
Verify this using the ls -R command at different revisions. It'll
only show branch in r4.

$ svn log -v --stop-on-copy file:///svn/repo/branch
------------------------------------------------------------------------
r4 | fbaksik | 2007-02-14 10:56:54 -0500 (Wed, 14 Feb 2007) | 2 lines
Changed paths:
   A /branch (from /:1)

Copy WC

------------------------------------------------------------------------

$ svn ls -R -r1 file:///svn/repo
trunk/
trunk/foo

$ svn ls -R -r4 file:///svn/repo
branch/
branch/trunk/
branch/trunk/foo
trunk/
trunk/bar
trunk/baz
trunk/foo

--
Frodak
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Feb 14 17:12:01 2007

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

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