You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Paul Burba <pb...@collab.net> on 2008/01/22 18:23:26 UTC

svn merge --reintegrate and -c -r options

Should svn merge --reintegrate produce an error if the user also
specifies -c and/or -r?  These are allowed but have no meaning AFAICT.

Paul

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


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

Posted by Paul Burba <pt...@gmail.com>.
On Feb 1, 2008 5:26 PM, David Glasser <gl...@davidglasser.net> wrote:
> On Jan 24, 2008 3:31 PM, Paul Burba <pt...@gmail.com> wrote:
> > On Jan 23, 2008 7:07 PM, David Glasser <gl...@davidglasser.net> wrote:
> > > On Jan 22, 2008 10:23 AM, Paul Burba <pb...@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@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@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@PEGREV, but requires -r/-c:
> >
> > >svn merge merge_tests-45\A_COPY@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@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@PEG WC_TARGET --reintegrate.

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

> > >svn merge merge_tests-45\A_COPY@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

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

Posted by David Glasser <gl...@davidglasser.net>.
On Jan 24, 2008 3:31 PM, Paul Burba <pt...@gmail.com> wrote:
> On Jan 23, 2008 7:07 PM, David Glasser <gl...@davidglasser.net> wrote:
> > On Jan 22, 2008 10:23 AM, Paul Burba <pb...@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@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@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@PEGREV, but requires -r/-c:
>
> >svn merge merge_tests-45\A_COPY@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!

> >svn merge merge_tests-45\A_COPY@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.

--dave


-- 
David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Paul Burba <pt...@gmail.com>.
On Jan 23, 2008 7:07 PM, David Glasser <gl...@davidglasser.net> wrote:
> On Jan 22, 2008 10:23 AM, Paul Burba <pb...@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@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@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@PEGREV, but requires -r/-c:

>svn merge merge_tests-45\A_COPY@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:

>svn merge merge_tests-45\A_COPY@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?

Paul

> --dave
>
>
> --
> David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by David Glasser <gl...@davidglasser.net>.
On Jan 22, 2008 10:23 AM, Paul Burba <pb...@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


-- 
David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org