[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: Ryan Schmidt <subversion-2007a_at_ryandesign.com>
Date: 2007-02-10 05:34:27 CET

On Feb 9, 2007, at 15:44, Phillip Susi wrote:

> I have noticed that when I do some work in my working copy and
> decide to commit it as a branch instead, it causes some strange
> problems when I go back to try and merge. Specifically when I
> choose the range of revisions in the branch to merge back into the
> trunk in tsvn, it gets an error saying that it can not find that
> path in rev xxx, where rev xxx is the one prior to the first rev in
> the branch I selected.
>
> I tried merging or even simply listing from the command line as
> well, and this also fails. It looks like what happened is that
> when I forked the branch, it created a hole in the revision
> history. If the trunk is initially at rev 5, and by the time you
> choose to commit your changes as a branch, others have modified the
> trunk and it is now at rev 9, then when you commit your wc as a
> branch in rev 10, the history of /branch does not exist in revs
> 6-9. If you try to svn ls /branch -r9 it fails saying that
> location could not be found in that revision. Same goes for
> revisions 6, 7, and 8, but if you try revision 5, it works
> properly. This causes problems when merging because you try to
> merge using r9 as the start revision because r10 is the first
> commit in that branch containing modifications, you want to track
> the changes including that initial commit. When you manually
> choose r9 or tsvn does ( since it is 1 before the first commit in
> that branch ), you get this error.
>
> Is this a bug and is there any way to avoid it, other than manually
> tracking back to the revision before the hole?

You should not create a branch and commit changes to it in one
revision. You should split these logically distinct tasks into two
revisions.

First, copy the trunk to a new branch. That should be the only step
performed in this revision.

Then, check out a working copy of the branch (or switch an existing
working copy of the trunk or any other branch (with changes if you
like)) to the new branch. Then make and/or finish up your changes and
commit again.

Now, when you merge these back to trunk, you start from the revision
in which the branch was created.

-- 
To reply to the mailing list, please use your mailer's Reply To All  
function
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Sat Feb 10 05:35:02 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.