Author: cmpilato
Date: Thu May  5 18:31:16 2011
New Revision: 1099910

URL: http://svn.apache.org/viewvc?rev=1099910&view=rev
Log:
* site/publish/docs/release-notes/1.7.html
  Add a note about the new ancestry check that 'svn switch' employs.

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

Modified: subversion/site/publish/docs/release-notes/1.7.html
URL: 
http://svn.apache.org/viewvc/subversion/site/publish/docs/release-notes/1.7.html?rev=1099910&r1=1099909&r2=1099910&view=diff
==============================================================================
--- subversion/site/publish/docs/release-notes/1.7.html (original)
+++ subversion/site/publish/docs/release-notes/1.7.html Thu May  5 18:31:16 2011
@@ -556,6 +556,44 @@ working copy required creating each file
 </pre>
 </div>  <!-- update-parents -->
 
+<div class="h4" id="switch-ancestry-check">
+<h4>svn switch now checks ancestry
+  <a class="sectionlink" href="#switch-ancestry-check"
+    title="Link to this section">&para;</a>
+</h4>
+<p><code>svn switch</code> now checks that the working copy item being
+switched shares common version control history with the URL to which
+it is being switched.</p>
+
+<p>This change was made to protect users from the unpleasant side
+effects of oft-mistyped switch commands, such accidentally
+running <code>svn switch ^/branches</code> when you instead meant to
+run <code>svn switch ^/branches/<em>SOME-BRANCH</em></code>.  As of
+version 1.7, Subversion will check to see if the source URL and the
+target working copy item are ancestrally related and, if they do not,
+the switch operation will fail with an error.</p>
+
+<pre>
+   $ svn switch ^/branches
+   svn: E195012: Path '.' does not share common version control ancestry wit\
+   h the requested switch location.  Use --ignore-ancestry to disable this c\
+   heck.
+   $
+</pre>
+
+<p>What is meant by "ancestrally related"?  In short, it means that if
+you were to compare all the paths and revisions that each of these two
+version controlled items has occupied over time &mdash; its current
+repository location plus all previous ones, back through all the
+copies and moves in its history &mdash; those two sets would
+overlap.</p>
+
+<p>As noted in the previous example's error message, this ancestry
+check &mdash; which does come at some performance cost &mdash; may be
+disabled by passing the <strong><tt>--ignore-ancestry</tt></strong>
+option to the <code>svn switch</code> command.</p>
+</div>  <!-- switch-ancestry-check -->
+
 <div class="h4" id="diff-show-copies-as-adds">
 <h4>svn diff can show copied files as if they were newly added
   <a class="sectionlink" href="#diff-show-copies-as-adds"


Reply via email to