You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by da...@apache.org on 2014/05/03 01:28:23 UTC

svn commit: r1592111 - /subversion/site/publish/docs/release-notes/1.9.html

Author: danielsh
Date: Fri May  2 23:28:23 2014
New Revision: 1592111

URL: http://svn.apache.org/r1592111
Log:
* docs/release-notes/1.9.html
  (#three-way-conflict-markers): New section.

Modified:
    subversion/site/publish/docs/release-notes/1.9.html

Modified: subversion/site/publish/docs/release-notes/1.9.html
URL: http://svn.apache.org/viewvc/subversion/site/publish/docs/release-notes/1.9.html?rev=1592111&r1=1592110&r2=1592111&view=diff
==============================================================================
--- subversion/site/publish/docs/release-notes/1.9.html (original)
+++ subversion/site/publish/docs/release-notes/1.9.html Fri May  2 23:28:23 2014
@@ -535,13 +535,95 @@ efficient operation on <a href="#fsfs-fo
 new <tt>--keep-going</tt> option instructs svnadmin to continue with the next
 revision such that multiple issues may be found in a single run.  If a revision
 has multiple issues and depending on the verification logic, still only the
-first problem may be reported.
-<p>
+first problem may be reported.</p>
 
 </div>  <!-- svnadmin-verify -->
 
 </div> <!-- svnadmin-improvements -->
 
+<div class="h3" id="three-way-conflict-markers">
+<h3>Three-way conflict display, and <tt>diff3</tt> enhancements
+  <a class="sectionlink" href="#three-way-conflict-markers"
+     title="Link to this section">&para;</a>
+</h3>
+  
+<p>When a text conflict occurs (and is not resolved by the interactive conflicts
+resolver during <tt>svn update</tt>, <tt>svn switch</tt> or <tt>svn merge</tt>),
+<em>conflicts markers</em> are written into the conflicted file.  Previous versions
+of Subversion would render conflict markers as follows:</p>
+
+<pre>
+   Unconflicted lines
+   &lt;&lt;&lt;&lt;&lt;&lt;&lt; .mine
+   Contents of the file in the working copy (including local modifications)
+   =======
+   Contents of the file in the revision being updated to
+   &gt;&gt;&gt;&gt;&gt;&gt;&gt; .r2
+   Unconflicted lines
+</pre>
+
+<p>As of Subversion 1.9, conflict markers would be rendered with information on
+the base (called "older" in diff3 parlance):</p>
+
+<pre>
+   Unconflicted lines
+   &lt;&lt;&lt;&lt;&lt;&lt;&lt; .mine
+   Contents of the file in the working copy (including local modifications)
+   ||||||| .r1
+   Contents of the file in the working copy's BASE revision
+   =======
+   Contents of the file in the revision being updated to
+   &gt;&gt;&gt;&gt;&gt;&gt;&gt; .r2
+   Unconflicted lines
+</pre>
+
+<p>Here, one resolves the conflict by manually applying to the
+<tt>&lt;&lt;&lt;&lt;&lt;&lt;&lt;</tt> hunk the same changes that would transform
+the <tt>|||||||</tt> hunk into the <tt>&gt;&gt;&gt;&gt;&gt;&gt;&gt;</tt> hunk.
+For example, the following conflict:</p>
+
+<pre>
+   Unconflicted lines
+   &lt;&lt;&lt;&lt;&lt;&lt;&lt; .mine
+   "Hello hello, world!"
+   ||||||| .r1
+   "Hello, world!"
+   =======
+   "Hello, ${name}!"
+   &gt;&gt;&gt;&gt;&gt;&gt;&gt; .r2
+   Unconflicted lines
+</pre>
+
+<p>should be resolved to:</p>
+
+<pre>
+   Unconflicted lines
+   "Hello hello, ${name}!"
+   Unconflicted lines
+</pre>
+
+<p>The three-way conflict display was already used by property conflicts and
+by the interactive conflicts resolver in previous releases of Subversion.</p>
+
+<p>The old, two-way conflict markers output can be obtained by setting
+<tt>diff3-cmd</tt> in the <a
+href="http://svnbook.red-bean.com/nightly/en/svn.advanced.confarea.html"
+>Subversion runtime configuration</a> (or via the <tt>--config-option</tt>
+or <tt>--diff3-cmd</tt> command-line options) to a <tt>diff3</tt>
+command that generates two-way conflict markers.  Your system may already
+include such a <tt>diff3</tt> program; one is also included with Subversion
+and can be installed via <tt>make install-tools</tt> (Unix) or by building the
+<tt>diff3</tt> or <tt>__MORE__</tt> targets (Windows).  On a typical Unix system,
+simply setting <tt>diff3-cmd=diff3</tt> will restore two-way conflict markers.</p>
+
+<p>Subversion 1.9 adds to the included <tt>diff3</tt> program
+a <tt>--conflict-style</tt> marker that can be used to explicitly choose among
+two-way conflict markers, three-way conflict markers, and a few other options.
+That program can be used independently of Subversion anywhere a <tt>diff3</tt>
+command is needed.</p>
+
+</div>  <!-- three-way-conflict-markers -->
+
 </div>  <!-- enhancements -->
 
 <div class="h2" id="issues">