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

Re: merge option needs to be able to handle multiple change sets?

From: Mark Phippard <markphip_at_gmail.com>
Date: Wed, 23 Jul 2008 10:24:41 -0400

On Wed, Jul 23, 2008 at 5:37 AM, JetMark <extrapic_at_extrapic.com> wrote:
>
> If I do some merges I can do as follows:
>
> svn merge -c15 repo/branch
> svn merge -c20 repo/branch
> svn merge -c35 repo/branch
> svn merge -c17 repo/branch
>
> But it is not possible to dry run these:
>
> svn merge -c15,20,35,17 repo/branch
>
> does not work. This seems intentional, but its something really needed in
> order to calculate weather executing a merge gives G or C files. Come to
> that it would be very useful to be able to actually do as one command. In
> fact I think there ought to be a command to read an arbitrary changeset list
> from a file when doing either wet or dry run merges.
>
> There is also no way that I know of to synthesize the dry run result from a
> number of dry runs, the order of the merge can be important and not allowing
> multiples takes order out of the equation.
>
> But it seems like the omission of multiple changesets is so obvious that it
> MUST be intentional, or is it just that I missed some vital option or that
> the help is not up to date. What is even odder is that the pre 1.5
> svnmerge.py tool, explicitly DID allow this type of thing. Ive not used the
> svnmerge.py tool, and my understanding is that it is discouraged with 1.5
> because 1.5 is supposed to provide better inbuilt facilities.
>
> So, can someone tell me what the outlook for this is. A clearly needed
> facility intentionally not implemented? Will it and can it be?

The Subversion 1.5 client does support this syntax for merge, so not
really sure what else to tell you. We use it all the time.

I'd suggest you just do not use --dry-run. Do the real merge and then
revert it if you do not want it. --dry-run does all the steps of a
real merge it just does not save the result into your working copy.
But because it does not do this, it also cannot detect 'C' or 'G' in
later revisions because the result of the first revision is not there
to test against. During 1.5 development it was clear that there are
no plans or interest in improving the --dry-run command. When I wrote
the CollabNet merge client we had asked for this. The approach we
took was to create an undo merge option that does a recursive revert
followed by a cleanup of files that were added by the merge (since
revert does not remove them).

-- 
Thanks
Mark Phippard
http://markphip.blogspot.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-07-23 16:25:10 CEST

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.