You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2012/07/06 14:53:00 UTC

svn commit: r1358173 - /subversion/site/publish/docs/release-notes/1.8.html

Author: stsp
Date: Fri Jul  6 12:53:00 2012
New Revision: 1358173

URL: http://svn.apache.org/viewvc?rev=1358173&view=rev
Log:
* publish/docs/release-notes/1.8.html: Document a couple of conflict
   resolution enhancements in the 'svn' client.

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

Modified: subversion/site/publish/docs/release-notes/1.8.html
URL: http://svn.apache.org/viewvc/subversion/site/publish/docs/release-notes/1.8.html?rev=1358173&r1=1358172&r2=1358173&view=diff
==============================================================================
--- subversion/site/publish/docs/release-notes/1.8.html (original)
+++ subversion/site/publish/docs/release-notes/1.8.html Fri Jul  6 12:53:00 2012
@@ -399,6 +399,87 @@ attempting to do so will cause the clien
 
 </div>  <!-- empty-pseudo-changelist -->
 
+<div class="h4" id="conflicts-postponed">
+<h4>Conflicts are now always postponed during updates and merges
+  <a class="sectionlink" href="#conflicts-postponed"
+    title="Link to this section">&para;</a>
+</h4>
+
+<p>The <tt>svn update</tt>, <tt>svn switch</tt>, and <tt>svn merge</tt>
+commands line client now always postpone conflicts. Once the operation has
+completed, the interactive conflict resolver is automatically run on paths
+which received conflicts during the operation, which will either run in
+interactive mode or perform conflict resolution based on the value of
+the <tt>--accept</tt> option, if given.</p>
+
+<p>This approach has the advantage that the connection to the server
+is not held open while interactive conflict resolution is performed.
+In Subversion 1.7, the connection could time out if the user spent
+too much time resolving a conflict (see
+<a href="http://subversion.tigris.org/issues/show_bug.cgi?id=3846"
+>issue #3846</a>).</p>
+
+</div>  <!-- conflicts-postponed -->
+
+<div class="h4" id="svn-resolve">
+<h4>'svn resolve' can resolve conflicts interactively
+  <a class="sectionlink" href="#svn-resolve"
+    title="Link to this section">&para;</a>
+</h4>
+
+<p>The <tt>svn resolve</tt> command does not require the <tt>--accept</tt>
+option anymore. If invoked without any arguments, <tt>svn resolve</tt>
+will now perform interactive conflict resolution for any conflicted
+paths within the current working directory.</p>
+
+</div>  <!-- svn-resolve -->
+
+<div class="h4" id="file-merge-tool">
+<h4>Built-in file merge tool for interactive conflict resolution
+  <a class="sectionlink" href="#file-merge-tool"
+    title="Link to this section">&para;</a>
+</h4>
+
+<p>The command-line client now has a built-in file merge tool which
+merges any non-conflicting changes automatically and asks the user
+what to do about each individual merge conflict.</p>
+
+<p>The built-in file merge tool can be invoked from the interactive
+conflict resolution prompt by choosing the <tt>(m) merge</tt> option.
+It displays conflicting file sections in a side-by-side view and
+offers various ways of resolving the conflict, as shown below:</p>
+
+<pre>
+$ svn update
+Updating '.':
+C    subversion/svn/file-merge.c
+Updated to revision 1358165.
+Summary of conflicts:
+  Text conflicts: 1
+Conflict discovered in file 'subversion/svn/file-merge.c'.
+Select: (p) postpone, (df) diff-full, (e) edit, (m) merge,
+        (mc) mine-conflict, (tc) theirs-conflict,
+        (s) show all options: m
+(1) their version (at line 298)       |(2) your version (at line 391)        
+--------------------------------------+--------------------------------------
+  if (buf-&gt;len &gt;= 2 &amp;&amp;                |  if (buf-&gt;len &gt; 1)                   
+      buf-&gt;data[buf-&gt;len - 2] == '\r' |    {                                 
+      buf-&gt;data[buf-&gt;len - 1] == '\n')|      if (buf-&gt;data[buf-&gt;len - 2] == '
+    svn_stringbuf_chop(buf, 2);       |        svn_stringbuf_chop(buf, 2);   
+  else if (buf-&gt;len &gt;= 1 &amp;&amp;           |    }                                 
+           (buf-&gt;data[buf-&gt;len - 1] ==|  else if (buf-&gt;len &gt; 0)              
+            buf-&gt;data[buf-&gt;len - 1] ==|    {                                 
+    svn_stringbuf_chop(buf, 1);       |      if (buf-&gt;data[buf-&gt;len - 1] == '
+                                      |        svn_stringbuf_chop(buf, 1);   
+                                      |    }                                 
+--------------------------------------+--------------------------------------
+Select: (1) use their version, (2) use your version, (p) postpone,
+        (e1) edit their version and use the result,
+        (e2) edit your version and use the result,
+        (eb) edit both versions and use the result: 
+</pre>
+</div>  <!-- file-merge-tool -->
+
 </div>  <!-- cmdline -->
 
 <div class="h3" id="apis">