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

Re: svn merge --reintegrate and -c -r options

From: Paul Burba <ptburba_at_gmail.com>
Date: Tue, 12 Feb 2008 10:11:16 -0500

On Feb 1, 2008 5:26 PM, David Glasser <glasser_at_davidglasser.net> wrote:
> On Jan 24, 2008 3:31 PM, Paul Burba <ptburba_at_gmail.com> wrote:
> > On Jan 23, 2008 7:07 PM, David Glasser <glasser_at_davidglasser.net> wrote:
> > > On Jan 22, 2008 10:23 AM, Paul Burba <pburba_at_collab.net> wrote:
> > > > Should svn merge --reintegrate produce an error if the user also
> > > > specifies -c and/or -r? These are allowed but have no meaning AFAICT.
> > >
> > > -c, sure.
> > >
> > > Now, I'm pretty sure the reintegrate API lets you specify
> > >
> > > "reintegrate branch-at-revision-123 into this wc"
> > >
> > > ie, it doesn't have to reintegrate HEAD. I'm not sure offhand if this
> > > should be specified with -r or with a pegrev though.
> >
> > Dave,
> >
> > This already works with the URL_at_PEGREV syntax (which I think is the
> > right choice):
> >
> > >svn merge file:///C:/SVN/src-branch/Release/subversion/tests/cmdline/svn-test-work/repositories/merge_tests-45/A_COPY_at_8
> > merge_tests-45\A --reintegrate
> > --- Merging differences between repository URLs into 'merge_tests-45\A':
> > U merge_tests-45\A
> >
> > It also works with the WC_PATH_at_PEGREV, but requires -r/-c:
> >
> > >svn merge merge_tests-45\A_COPY_at_8 merge_tests-45\A --reintegrate
> > ..\..\..\subversion\svn\merge-cmd.c:157: (apr_err=195002)
> > svn: A working copy merge source needs an explicit revision
> >
> > Which is definitely a bit odd as it doesn't do anything with that
> > option if you do provide it:
>
> Oh, that's odd, we should fix that. Possibly just by disallowing
> working copy merge sources for reintegrate!

The attached patch allows "svn merge SOURCE_WC_PATH_at_PEG TARGET_WC_PATH
--reintegrate" to work as expected, using the URL for SOURCE_WC_PATH
at PEG. Do you prefer this to disallowing a WC source?

[[[
Support svn merge WC_PATH_at_PEG WC_TARGET --reintegrate.

* subversion/svn/merge-cmd.c
  (svn_cl__merge): svn merge WC_PATH_at_PEG WC_TARGET --reintegrate is not
  considered two sources. Don't require an explicit revision range either.
]]]

> > >svn merge merge_tests-45\A_COPY_at_8 merge_tests-45\A --reintegrate
> > -r2:99999999999999999999999999999999
> > --- Merging differences between repository URLs into 'merge_tests-45\A':
> > U merge_tests-45\A
> >
> > >svn pl -vR merge_tests-45
> > Properties on 'merge_tests-45\A':
> > svn:mergeinfo : /A_COPY:2-8
> > Properties on 'merge_tests-45\A_COPY':
> > svn:mergeinfo : /A:2-7
> >
> > So...disallow -r/-c with --reintegrate?
>
> Yup.

Done r29271 and r29273 (thanks cmpilato).

Paul

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org

Received on 2008-02-12 16:11:31 CET

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