[svnbook] r3898 committed - Some issue #75 work ('ch04: svn merge --reintegrate does...

svnbook at googlecode.com svnbook at googlecode.com
Fri Jul 8 10:28:54 CDT 2011


Revision: 3898
Author:   ptburba at gmail.com
Date:     Fri Jul  8 08:28:10 2011
Log:      Some issue #75 work ('ch04: svn merge --reintegrate does
not match any of the 3 usage patterns').

* src/en/book/ch04-branching-and-merging.xml
   (svn.branchemerge.basicmerging.reintegrate): Describe the key
    restrictions on --reintegrate merges.

http://code.google.com/p/svnbook/source/detail?r=3898

Modified:
  /trunk/src/en/book/ch04-branching-and-merging.xml

=======================================
--- /trunk/src/en/book/ch04-branching-and-merging.xml	Thu Jul  7 13:03:29  
2011
+++ /trunk/src/en/book/ch04-branching-and-merging.xml	Fri Jul  8 08:28:10  
2011
@@ -731,22 +731,20 @@
  </screen>
        </informalexample>

-      <para>Now, you use <command>svn merge</command> to replicate
-        your branch changes back into the trunk.  You'll need an
-        up-to-date working copy of <filename>/trunk</filename>.  You
-        can do this by either doing an <command>svn
-        checkout</command>, dredging up an old trunk working copy from
-        somewhere on your disk, or using <command>svn
-        switch</command> (see
-        <xref linkend="svn.branchmerge.switchwc"/>.) However you get a
-        trunk working copy, remember that it's a best practice to do
-        your merge into a working copy that
-        has <emphasis>no</emphasis> local edits and has been recently
-        updated (i.e., is not a mixture of local revisions).  If your
-        working copy isn't <quote>clean</quote> in these ways, you can
-        run into some unnecessary conflict-related headaches
-        and <command>svn merge</command> will likely return an
-        error.</para>
+      <para>Now, you use <command>svn merge</command> with the
+        <option>--reintegrate</option> option to replicate your
+        branch changes back into the trunk.  You'll need a working
+        copy of <filename>/trunk</filename>.  You can do this by
+        either doing an <command>svn checkout</command>, dredging up
+        an old trunk working copy from somewhere on your disk, or
+        using <command>svn switch</command>
+        (see <xref linkend="svn.branchmerge.switchwc"/>.)
+        Your trunk working copy cannot have any local edits or be at
+        mixed-revisions
+        (see <xref linkend="svn.basic.in-action.mixedrevs"/>).  While
+        these are typically best practices for merging, they are
+        <emphasis>required</emphasis> when using the
+        <option>--reintegrate</option> option.</para>

        <para>Once you have a clean working copy of the trunk, you're
          ready to merge your branch back into it:</para>
@@ -808,6 +806,19 @@
          tree:  the resulting difference is exactly your branch
          changes!)</para>

+      <para>Keep in mind that the <option>--reintegrate</option> option
+        is quite specialized in contrast to more general nature of most
+        Subversion subcommand options.  It supports the use case
+        described above, but has little applicability outside of that.
+        Because of this narrow focus, in addition to requiring an
+        up-to-date working copy with no mixed-revisions, it will not
+        function in combination with most of the other
+        <command>svn merge</command> options. You'll get an error if you
+        use any non-global options but these: <option>--accept</option>,
+        <option>--dry-run</option>, <option>--diff3-cmd</option>,
+        <option>--extensions</option>, or <option>--quiet</option>.
+        </para>
+
        <para>Now that your private branch is merged to trunk, you may
          wish to remove it from the repository:</para>





More information about the svnbook-dev mailing list