[svnbook] r3891 committed - Finish issue #74 ('Term "natural history" lacks definition/...
svnbook at googlecode.com
svnbook at googlecode.com
Thu Jul 7 11:32:47 CDT 2011
Revision: 3891
Author: ptburba at gmail.com
Date: Thu Jul 7 09:32:16 2011
Log: Finish issue #74 ('Term "natural history" lacks definition/
explanation').
* src/en/book/ch04-branching-and-merging.xml
(svn.branchmerge.nomergedata): Add a sidebar with a brief
description of natural history/implicit mergeinfo. Resist
urge to over-explain.
http://code.google.com/p/svnbook/source/detail?r=3891
Modified:
/trunk/src/en/book/ch04-branching-and-merging.xml
=======================================
--- /trunk/src/en/book/ch04-branching-and-merging.xml Tue Jul 5 12:18:43
2011
+++ /trunk/src/en/book/ch04-branching-and-merging.xml Thu Jul 7 09:32:16
2011
@@ -1609,6 +1609,38 @@
</varlistentry>
</variablelist>
+ <sidebar>
+ <title>Natural History and Implicit Mergeinfo</title>
+
+ <para>When a path has the <literal>svn:mergeinfo</literal>
+ property set on it we speak of it as having 'explicit' mergeinfo.
+ Yes, this implies a path can have 'implicit' mergeinfo! Implicit
+ mergeinfo, sometimes called 'natural history', is simply a path's
+ own history (see <xref linkend="svn.tour.history"/>) interpreted
+ as mergeinfo. While implicit mergeinfo is largely an
+ implementation detail, it can be a useful abstraction for
+ understanding merge tracking behavior.</para>
+ <para>Let's say you created <literal>^/trunk</literal> in revision
+ 100 and then copied <literal>^/trunk at 200</literal> to
+ <literal>^/branches/feature-branch-1</literal> in revision 201.
+ The implicit mergeinfo of <literal>^/branches/feature-branch-1
+ </literal> is then:</para>
+ <screen>
+/trunk:100-200
+/branches/feature-branch-1:201</screen>
+ <para>Implicit mergeinfo does not actually show up in the
+ <literal>svn:mergeinfo</literal> property, but Subversion acts
+ like it does. That is why if you checked out
+ <literal>^/branches/feature-branch-1 at 201</literal> and tried
+ the following merge nothing would happen:</para>
+ <screen>
+svn merge ^/trunk feature-branch-working-copy -c 58</screen>
+ <para>Subversion sees that revision 58 of
+ <literal>^/trunk</literal> is already present in the target's
+ natural history so it doesn't repeat the merge (avoiding repeat
+ merges being a primary goal of merge tracking).</para>
+ </sidebar>
+
</sect2>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
More information about the svnbook-dev
mailing list