subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From s...@apache.org
Subject svn commit: r1780191 - /subversion/site/publish/docs/release-notes/1.10.html
Date Wed, 25 Jan 2017 14:41:03 GMT
Author: stsp
Date: Wed Jan 25 14:41:03 2017
New Revision: 1780191

URL: http://svn.apache.org/viewvc?rev=1780191&view=rev
Log:
* release-notes/1.10.html: Add a section about the new conflict resolver.

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

Modified: subversion/site/publish/docs/release-notes/1.10.html
URL: http://svn.apache.org/viewvc/subversion/site/publish/docs/release-notes/1.10.html?rev=1780191&r1=1780190&r2=1780191&view=diff
==============================================================================
--- subversion/site/publish/docs/release-notes/1.10.html (original)
+++ subversion/site/publish/docs/release-notes/1.10.html Wed Jan 25 14:41:03 2017
@@ -103,12 +103,12 @@ and what impact these changes may have.<
     <th>Notes</th></tr>
   <tr>
     <td>
-      <a href="#conflict-resolver">New conflict resolver</a>
+      <a href="#conflict-resolver">New interactive conflict resolver</a>
     </td>
     <td>1.10</td>
     <td>any</td>
     <td>any</td>
-    <td></td></tr>
+    <td>Use SVN 1.8 and above clients only for best results.</td></tr>
 </table>
 
 </div>  <!-- new-feature-compatibility-table -->
@@ -174,12 +174,180 @@ users.  We'll cover those in this sectio
 </h2>
 
 <div class="h3" id="conflict-resolver">
-<h3>New conflict resolver
+<h3>New interactive conflict resolver
   <a class="sectionlink" href="#conflict-resolver"
      title="Link to this section">&para;</a>
 </h3>
 
-<p>Subversion 1.10 features a new conflict resolver.</p>
+<p>Subversion 1.10 provides much better interactive resolution of tree conflicts
+   than previous releases.</p>
+
+<p>Interactive conflict resolution has been completely redesigned and rewritten.
+   This new conflict resolver supersedes the first implementation introduced
+   in Subversion 1.5.</p>
+
+<p>The new conflict resolver searches repository history for structural changes
+   (additions, deletions, copies, and moves) which conflict with local changes
+   in the working copy and cause tree conflicts. Tree conflicts are now described
+   in detail, including revision numbers and names of authors of conflicting changes.
+   In previous versions of Subversion, the task of finding such information was
+   left to the user. Automating this task is a huge usability improvement.</p>
+
+<p>The new conflict resolver is able to detect moves and renames in repository
+   history, and take them into account while modifying the local working copy.
+   This makes seamless merging between branches possible even if one or both
+   branches rename files or directories. For best results, all SVN clients
+   committing to the repository should be at version 1.8 or higher.</p>
+ 
+<p>The conflict resolver user interface remains largely unchanged. Like in
+   previous releases, the resolver will be started automatically if an update,
+   merge, or switch operation ends with unresolved conflicts. It can also be
+   started on demand by running the <tt>svn resolve</tt> command. For more
+   information, run <tt>svn help resolve</tt> after installing Subversion 1.10.</p>
+
+<p>In some situations, resolving one tree conflict will cause new other tree conflicts
+   to appear. The <tt>svn resolve</tt> command will keep iterating over such
conflicts
+   until none are left, or until the user decides to quit the operation.</p>
+
+<p>The new conflict resolver offers a variety of automated tree conflict resolution
+   options which users can choose from. Not all kinds of tree conflicts can yet be
+   described and resolved. The options available in Subversion 1.10.0 are listed below.</p>
+
+<p>Future releases of Subversion will continue to provide enhancements for the new
+   conflict resolver. We expect to add coverage of additional conflict cases and add
+   additional resolution options even in patch releases (i.e. in 1.10.1, 1.10.2, etc.).</p>
+
+<table border="1">
+  <tr>
+    <th>operation</th>
+    <th>incoming change</th>
+    <th>local change</th>
+    <th>kinds of versioned items</th>
+    <th>resolution options</th>
+  </tr>
+  <tr>
+    <td>update, switch</td>
+    <td><ul>
+      <li>edit a file</li>
+      <li>any change inside a directory</li>
+    </ul></td>
+    <td><ul>
+      <li>move</li>
+    </ul></td>
+    <td><ul>
+      <li>incoming file and local file</li>
+      <li>incoming directory and local directory</li>
+    </ul></td>
+    <td><ul>
+      <li>update move destination<br>
+          (using this option is recommended)</li>
+      <li>break move and update any moved away children<br>
+          (updates items moved outside of the moved directory)</li>
+    </ul></td>
+  </tr>
+  <tr>
+    <td>merge</td>
+    <td><ul>
+      <li>edit a file</li>
+      <li>any change inside a directory</li>
+    </ul></td>
+    <td><ul>
+      <li>move</li>
+    </ul></td>
+    <td><ul>
+      <li>incoming file and local file</li>
+      <li>incoming directory and local directory</li>
+    </ul></td>
+    <td><ul>
+      <li>apply change to move destination<br>
+    </ul></td>
+  </tr>
+  <tr>
+    <td>update, merge, switch</td>
+    <td><ul>
+      <li>delete an item</li>
+    </ul></td>
+    <td><ul>
+      <li>edit a file</li>
+      <li>any change inside a directory</li>
+    </ul></td>
+    <td><ul>
+      <li>incoming nothing and local file</li>
+      <li>incoming nothing and local directory</li>
+    </ul></td>
+    <td><ul>
+      <li>ignore deletion<br>
+      <li>accept deletion<br>
+    </ul></td>
+  </tr>
+  <tr>
+    <td>update, switch</td>
+    <td><ul>
+      <li>add a file</li>
+      <li>add a directory</li>
+    </ul></td>
+    <td><ul>
+      <li>add</li>
+    </ul></td>
+    <td><ul>
+      <li>incoming file and local file</li>
+      <li>incoming directory and local directory</li>
+    </ul></td>
+    <td><ul>
+      <li>ignore incoming addition<br>
+          (discards the incoming change)</li>
+      <li>merge incoming and local item</li>
+    </ul></td>
+  </tr>
+  <tr>
+    <td>merge</td>
+    <td><ul>
+      <li>add a file</li>
+      <li>add a directory</li>
+    </ul></td>
+    <td><ul>
+      <li>add</li>
+    </ul></td>
+    <td><ul>
+      <li>incoming file and local file</li>
+      <li>incoming directory and local directory</li>
+    </ul></td>
+    <td><ul>
+      <li>ignore incoming addition<br>
+          (discards the incoming change)</li>
+      <li>merge incoming and local item<br>
+          (item's log history will trace back on local branch)</li>
+      <li>replace local item with incoming item, then merge them<br>
+          (item's log history will trace back to other branch)</li>
+    </ul></td>
+  </tr>
+  <tr>
+    <td>update, merge, switch</td>
+    <td><ul>
+      <li>move a file</li>
+      <li>move a directory</li>
+    </ul></td>
+    <td><ul>
+      <li>edit a file</li>
+      <li>any change inside a directory</li>
+    </ul></td>
+    <td><ul>
+      <li>incoming file and local file</li>
+      <li>incoming directory and local directory</li>
+    </ul></td>
+    <td><ul>
+      <li>move and merge<br>
+          (applies the same move locally and merges items)</li>
+    </ul></td>
+  </tr>
+</table>
+
+<p>Note that, in particular, most cases where files clash with directories
+   are not yet handled.</p>
+
+<p>At present, the conflict resolver can be used interactively or called
+   from Subversion's client API. There is no support for non-interactive
+   conflict resolution with the <tt>svn</tt> command yet.
 
 </div>  <!-- conflict-resolver -->
 



Mime
View raw message