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

Re: Did I hose myself with merge?

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2005-04-14 02:30:46 CEST

On Apr 13, 2005, at 2:29 PM, Denise Howard wrote:

> I've pored over Chapter 4 of the book and am still looking for the
> answer to
> my problem. I just recently decided to take advantage of Subversion's
> branch capability, and I'm afraid I may have painted myself into a
> corner.
>
> Rev. 2089: I created a branch from the trunk, named 'token'.
> Rev. 2139: I allegedly synced to the trunk, via 'svn merge -r
> 2089:2139
> /svnroot/myproject/trunk' My branch version is now 2140. I got
> several
> "Skipped missing target' messages, which I didn't fully understand.

If you got 'skipped' messages, that's a big warning bell, meaning you
specified a bogus patch. It didn't all apply cleanly to your working
copy, which means you probably didn't compare the correct trees. Your
description of what you did sounds correct, but the fact that you got
those messages makes me think you actually did something different.

(This is mentioned in
http://svnbook.red-bean.com/en/1.1/ch04s03.html#svn-ch-4-sect-3.2.3)

>
> Does this pick up all the changes in the revisions in between, or not?

Yes, it should. But because your story is anecdotal (rather than a
transcript of actual commands and results), there's no way we can
really figure out what happened.

> If
> not, how do I sync up with all the others so that I don't get those
> messages? Surely I don't have to apply each individual revision
> separately??

Not at all.

>
> Rev. 2192: I've done several more commits to my branch, and want to
> sync up
> with the trunk again. My branch version is now 2154, so I do 'svn
> merge -r
> 2154:2192 /svnroot/myproject/trunk'. Many more "Skipped missing
> target"
> messages result, along with a number of conflicts.

This is wrong. You need to compare two snapshots of the trunk, and
apply the resulting differences to your working copy. The two trunk
snapshots you want to compare need to leave off *exactly* from where
you merged last time. Your first merge compared r2089:2139 of trunk.
So your second merge should compare r2139:HEAD of trunk.

What you did was skip revisions 2139:2154 of trunk, so it's not
surprising you got more skip messages and conflicts.

>
> Now I'm scared. How do I resolve this cleanly? If I apply any
> particular
> revision, won't I run the risk of adding back files that are supposed
> to be
> deleted, clobbering changes, and causing conflicts?

Yes.

Try starting over. Create a new branch by copying r2088 of trunk.
Then merge r2088:HEAD of trunk to the branch. Then merge r2089:HEAD of
the *original* branch to the new branch.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu Apr 14 02:33:32 2005

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.