Author: stsp Date: Tue Sep 18 14:42:24 2012 New Revision: 1387192 URL: http://svn.apache.org/viewvc?rev=1387192&view=rev Log: * publish/docs/release-notes/1.8.html: Create a new section on conflict resolution and move some items into it. I anticipate some additional improvements in this area once we've got local moves sorted out, so it makes sense to group these in a separate section.
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=1387192&r1=1387191&r2=1387192&view=diff ============================================================================== --- subversion/site/publish/docs/release-notes/1.8.html (original) +++ subversion/site/publish/docs/release-notes/1.8.html Tue Sep 18 14:42:24 2012 @@ -468,6 +468,99 @@ href="http://svn.apache.org/viewvc/subve <!-- Don't need to highlight every bugfix, just major ones which aren't in any patch release. --> +<div class="h3" id="conflicts"> +<h3>Improved conflict resolution + <a class="sectionlink" href="#conflicts" + title="Link to this section">¶</a> +</h3> + +<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">¶</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">¶</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">¶</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 +Merging 'subversion/svn/file-merge.c'. +Conflicting section found during merge. +(1) their version (at line 298) |(2) your version (at line 391) +--------------------------------------+-------------------------------------- + if (buf->len >= 2 && | if (buf->len > 1) + buf->data[buf->len - 2] == '\r' | { + buf->data[buf->len - 1] == '\n')| if (buf->data[buf->len - 2] == ' + svn_stringbuf_chop(buf, 2); | svn_stringbuf_chop(buf, 2); + else if (buf->len >= 1 && | } + (buf->data[buf->len - 1] ==| else if (buf->len > 0) + buf->data[buf->len - 1] ==| { + svn_stringbuf_chop(buf, 1); | if (buf->data[buf->len - 1] == ' + | svn_stringbuf_chop(buf, 1); + | } +--------------------------------------+-------------------------------------- +Select: (1) use their version, (2) use your version, + (e1) edit their version and use the result, + (e2) edit your version and use the result, + (eb) edit both versions and use the result, + (p) postpone this conflicting section leaving conflict markers, + (a) abort file merge and return to main menu: +</pre> +</div> <!-- file-merge-tool --> + +</div> <!-- conflicts --> + <div class="h3" id="pristines"> <h3>Checkout and update download pristine file data just once <a class="sectionlink" href="#pristines" @@ -728,91 +821,6 @@ options, which perform case-insensitive </div> <!-- svn-log-search --> -<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">¶</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">¶</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">¶</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 -Merging 'subversion/svn/file-merge.c'. -Conflicting section found during merge. -(1) their version (at line 298) |(2) your version (at line 391) ---------------------------------------+-------------------------------------- - if (buf->len >= 2 && | if (buf->len > 1) - buf->data[buf->len - 2] == '\r' | { - buf->data[buf->len - 1] == '\n')| if (buf->data[buf->len - 2] == ' - svn_stringbuf_chop(buf, 2); | svn_stringbuf_chop(buf, 2); - else if (buf->len >= 1 && | } - (buf->data[buf->len - 1] ==| else if (buf->len > 0) - buf->data[buf->len - 1] ==| { - svn_stringbuf_chop(buf, 1); | if (buf->data[buf->len - 1] == ' - | svn_stringbuf_chop(buf, 1); - | } ---------------------------------------+-------------------------------------- -Select: (1) use their version, (2) use your version, - (e1) edit their version and use the result, - (e2) edit your version and use the result, - (eb) edit both versions and use the result, - (p) postpone this conflicting section leaving conflict markers, - (a) abort file merge and return to main menu: -</pre> -</div> <!-- file-merge-tool --> - </div> <!-- cmdline --> <div class="h3" id="apis">