Menu

#75 ch04: svn merge --reintegrate does not match any of the 3 usage patterns

en-1.7
Done
nobody
None
Medium
Defect
2011-11-10
2010-03-01
Anonymous
No

Originally created by: chris...@gmail.com
Originally owned by: ptbu...@gmail.com

Svn merge --reintegrate appears to fit a forth usage pattern:
       4. merge --reintegrate sourceURL[@REV] [WCPATH]

I'm guessing that sourceURL must be a URL & that @REV is optional.

Perhaps this should be added to the svn (1.6.6) tool's help also.

Through trial & error I discovered the following.
Perhaps some of these too should be documented in the 'svn merge' section.

> alias svn_merge 'svn merge --username <ME> --password <PWD> --non-interactive --dry-run'
> svn_merge --force --ignore-ancestry --record-only --reintegrate --change 148 <URL-1@M> <target-dir>
svn: -r and -c can't be used with --reintegrate

> svn_merge --force --ignore-ancestry --record-only --reintegrate --[r140]:148 <URL-1@M> <target-dir>
svn: -r and -c can't be used with --reintegrate

> svn_merge --force --ignore-ancestry --record-only --reintegrate <URL-2@N> <URL-1@M> <target-dir>
svn: --reintegrate cannot be used with --ignore-ancestry or --record-only

> svn_merge --force --reintegrate <URL-2@N> <URL-1@M> <target-dir>
--- Merging differences between repository URLs into '<target-dir>':
...
#NOTE: svn completely (& silently) ignores the --reintegrate option.
#            Is that an error?  Should that be reported to the Subversion project?

> svn_merge --force --reintegrate <URL-2@N> <target-dir>
svn: --force cannot be used with --reintegrate

> svn_merge --reintegrate <URL-2@N> <target-dir>
svn: Cannot reintegrate into a working copy that has local modifications

Related

Commit: [r140]
Tickets: #134

Discussion

  • Anonymous

    Anonymous - 2010-03-01

    Originally posted by: chris...@gmail.com

    I missed one :-)

    > svn_merge --depth=<ANY> --reintegrate <URL-2@N> <target-dir>
    svn: --depth cannot be used with --reintegrate

    #NOTE: Gives identical error if you replace --depth=<ANY> with --non-recursive

     
  • Anonymous

    Anonymous - 2011-06-28

    Originally posted by: cmpilato

    (No comment was entered for this change.)

    Owner: cmpilato

     
  • Anonymous

    Anonymous - 2011-07-06

    Originally posted by: cmpilato

    (No comment was entered for this change.)

    Summary: ch04: svn merge --reintegrate does not match any of the 3 usage patterns
    Owner: pbu...@googlemail.com
    Labels: Milestone-en-1.6

     
  • Anonymous

    Anonymous - 2011-07-06

    Originally posted by: cmpilato

    Oops.  Use the correct address for Paul Burba.

    Owner: ptbu...@gmail.com

     
  • Anonymous

    Anonymous - 2011-07-07

    Originally posted by: ptbu...@gmail.com

    > Svn merge --reintegrate appears to fit a forth usage pattern:
    >       4. merge --reintegrate sourceURL[@REV] [WCPATH]
    >
    > I'm guessing that sourceURL must be a URL & that @REV is optional.

    That's correct.

    > Perhaps this should be added to the svn (1.6.6) tool's help also.

    On Subversion's trunk we've made some substantial revisions and additions to the 'svn merge --help' text which will appear in the forthcoming 1.7 release (see http://svn.apache.org/repos/asf/subversion/trunk/subversion/svn/main.c).  Two of the changes relevant to this discussion are the combining of the first two usage patterns,

      1. merge sourceURL1[@N] sourceURL2[@M] [WCPATH]
      2. merge sourceWCPATH1@N sourceWCPATH2@M [WCPATH]

    into a single more general pattern:

      3. merge SOURCE1[@N] SOURCE2[@M] [TARGET_WCPATH]

    We also added a new usage pattern:

      2. merge --reintegrate SOURCE[@REV] [TARGET_WCPATH]

    Since the chapter 9 reference section for merge closely mirrors the 'svn merge --help' text we'll leave it as-is for the 1.6 version of the book.  I added the new issue #134 to revisit this section for the 1.7 version of the book.

    > Through trial & error I discovered the following.
    > Perhaps some of these too should be documented in the 'svn merge' section.
    >
    >> alias svn_merge 'svn merge --username <ME> --password <PWD> --non-interactive --dry-run'
    >> svn_merge --force --ignore-ancestry --record-only --reintegrate --change 148 <URL-1@M> <target-dir>
    > svn: -r and -c can't be used with --reintegrate
    >
    >> svn_merge --force --ignore-ancestry --record-only --reintegrate --[r140]:148 <URL-1@M> <target-dir>
    > svn: -r and -c can't be used with --reintegrate
    >
    >> svn_merge --force --ignore-ancestry --record-only --reintegrate <URL-2@N> <URL-1@M> <target-dir>
    > svn: --reintegrate cannot be used with --ignore-ancestry or --record-only
    >
    >> svn_merge --force --reintegrate <URL-2@N> <target-dir>
    > svn: --force cannot be used with --reintegrate
    >
    >> svn_merge --reintegrate <URL-2@N> <target-dir>
    > svn: Cannot reintegrate into a working copy that has local modifications
    >
    >> svn_merge --depth=<ANY> --reintegrate <URL-2@N> <target-dir>
    > svn: --depth cannot be used with --reintegrate
    >
    > #NOTE: Gives identical error if you replace --depth=<ANY> with --non-recursive

    All of the above errors explain what the problem is.  We won't document every invalid option permutation in 'svn merge --help' or in the book, there are simply too many.

    >> svn_merge --force --reintegrate <URL-2@N> <URL-1@M> <target-dir>
    > --- Merging differences between repository URLs into '<target-dir>':
    > ...
    > #NOTE: svn completely (& silently) ignores the --reintegrate option.
    > #            Is that an error?  Should that be reported to the
    > Subversion project?

    In the latest 1.6.x (1.6.17) and on Subversion's trunk@1143377 this now raises an error:

      1.6.17>svn merge --force --reintegrate ^^/A@9 ^^/A_COPY@9 A
      svn: --force cannot be used with --reintegrate

    Regardless, it is also an error to use a 2-URL merge with --reintegrate:

      >svn merge --reintegrate ^^/A@9 ^^/A_COPY@9 A
      svn: Try 'svn help' for more info
      svn: --reintegrate can only be used with a single merge source

    Status: Invalid

     

    Related

    Commit: [r140]
    Tickets: #134

  • Anonymous

    Anonymous - 2011-07-07

    Originally posted by: chris...@gmail.com

    My report was & is valid.
    It’s irrelevant that the svn 1.6 tool doesn’t contain help for this & the svn 1.7 tool does.
    You should set the status to "WontFix" if you don’t intend to fix it.

    > We won't document every invalid option permutation in 'svn merge --help' or in the book, there are simply too many.

    I didn’t expect you to.  I was trying to provide additional, relevant, data.
    However, I did expect the book to specify which options are valid for `svn merge --reintegrate`.

     
  • Anonymous

    Anonymous - 2011-07-08

    Originally posted by: cmpilato

    Paul, the Reference chapter does tend to mimic the 'svn help SUBCOMMAND' output, but is intended to expand upon that with examples and additional information.  (It would be a terrible waste of time and energy to maintain a mere duplication of what 'svn' already provides.)  I can see value in having that reference section point out some of the options-related nuances around --reintegrate.

    Let's defer this work to the 1.7 version of the book, though, especially since 1.7's 'svn help merge' output provides a more natural "hook" for recognizing that --reintegrate is a special sort of beast.

    Labels: -Milestone-en-1.6 Milestone-en-1.7
    Status: New

     
  • Anonymous

    Anonymous - 2011-07-08

    Originally posted by: ptbu...@gmail.com

    Mike - That was more or less my plan for issue 134.

    I'm still not convinced there is much value in explicitly listing "which options are valid for `svn merge --reintegrate`", but there are so *few*, so why not.  I made that change and added some additional verbiage regarding --reintegrate's highly specialized nature in [r3898].

    Chris - When I choose 'invalid' it was more out of ignorance than any assessment of this issue's inherent validity, I agree that 'wontfix' would have been the more appropriate choice.

     

    Related

    Commit: [r3898]
    Tickets: #134


Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.