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

Help understanding branch merges

From: Craig Mills <CMills_at_intek.com>
Date: 2006-06-13 00:40:24 CEST

I have a (beginner) question about merging code from a branch back into
the main trunk.

We made a branch, and one programmer was developing in that branch.
Meanwhile the trunk continued being modified. It came time to merge the
branch into my main trunk.

Working from a current directory with my up-top-date HEAD in it, I ran
the command:

svn merge --dry-run svn://host/app

The files listed for changing looked somewhat like what I was expecting,
so went ahead and did the whole merge (without the --dry-run).

BUT: what appears to have happened is that
a) the newest files in the branch were all moved into the main trunk:
that is, newer files which had bug fixes in the branch, were brought
into the trunk. This was what I expected.

b) some files (which had been added to the trunk AFTER the branch was
made) were deleted in the trunk as a result of the merge
c) some trunk files were over-written with the (older) files from the
branch which were in place when the branch was

Parts b) and c) were NOT what I was expecting at all from merging.

It appears that my problem is a flavor of something I saw mentioned in
the list archives: "If you compare the tips of branch and trunk, you're
going to get a diff that you don't want: you'll be specifying "all
branch changes, plus removal of all trunk changes that took place since
the branch was made."

But what I am wondering, is what exactly is the syntax I *should* have
used? Is merging a two-step process? I don't understand how to get the
"diff" before I merge.

My branch was created with revision 99. So maybe I should have used
something more like:

svn merge --dry-run svn://host/app_at_99

Thanx all for your patience...

To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Jun 13 00:41:51 2006

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.