[svnbook commit] r2610 - trunk/src/en/book

cmpilato noreply at red-bean.com
Fri Jan 5 00:29:15 CST 2007


Author: cmpilato
Date: Fri Jan  5 00:29:14 2007
New Revision: 2610

Modified:
   trunk/src/en/book/ch-advanced-topics.xml

Log:
* src/en/book/ch-advanced-topics.xml
  Add some exemplary screen output for the svn:externals container
  rename problem, and strip maintainer-mode output from other examples.


Modified: trunk/src/en/book/ch-advanced-topics.xml
==============================================================================
--- trunk/src/en/book/ch-advanced-topics.xml	(original)
+++ trunk/src/en/book/ch-advanced-topics.xml	Fri Jan  5 00:29:14 2007
@@ -439,7 +439,6 @@
 
     <screen>
 $ svn cat -r 1 concept/IDEA 
-subversion/libsvn_client/ra.c:775: (apr_err=20014)
 svn: Unable to find repository location for 'concept/IDEA' in revision 1
 </screen>
 
@@ -451,7 +450,6 @@
 
     <screen>
 $ svn cat -r 1 concept/IDEA at BASE
-subversion/libsvn_client/ra.c:775: (apr_err=20014)
 svn: Unable to find repository location for 'concept/IDEA' in revision 1
 </screen>
 
@@ -2750,19 +2748,53 @@
       relative local target subdirectory will, of course, move with
       renamed directory).  This can be confusing—even
       frustrating—in certain situations.  For example, say you
-      have a top-level directory named <filename>project</filename>.
-      If you create an externals definition on one subdirectory of
-      your <filename>project</filename> directory which tracks the
-      latest revision of some other subdirectory of that same tree,
-      and then you use <command>svn move</command> to rename the
-      <filename>project</filename> directory
-      <filename>/branches/my-branch</filename>, the externals
-      definitions on items in your new branch will still refer to
-      versioned objects in the <filename>project</filename> directory,
-      even though that directory no longer exists.  Be aware, too,
-      that if you need to re-parent your working copy (using
-      <command>svn switch --relocate</command>), externals definitions
-      will <emphasis>not</emphasis> also be re-parented.</para>
+      have a top-level directory named
+      <filename>my-project</filename>, and you've created an externals
+      definition on one of its subdirectories
+      (<filename>my-project/some-dir</filename>) which tracks the
+      latest revision of another of its subdirectories
+      (<filename>my-project/external-dir</filename>).</para>
+
+    <screen>
+$ svn co http://svn.example.com/projects .
+A    my-project
+A    my-project/some-dir
+A    my-project/external-dir
+…
+Fetching external item into 'my-project/some-dir/subdir'
+Checked out external at revision 11.
+
+Checked out revision 11.
+$ svn pget svn:externals my-project/some-dir
+subdir http://svn.example.com/projects/my-project/external-dir
+
+$
+</screen>
+
+    <para>Now you use <command>svn move</command> to rename the
+      <filename>my-project</filename> directory.  At this point, your
+      externals definition will still refer to a path under the
+      <filename>my-project</filename> directory, even though that
+      directory no longer exists.</para>
+
+    <screen>
+$ svn mv -q my-project renamed-project
+$ svn ci -m "Rename my-project to renamed-project."
+Deleting       my-project
+Adding         my-renamed-project
+
+Committed revision 12.
+$ svn up
+
+Fetching external item into 'renamed-project/some-dir/subdir'
+svn: Target path does not exist
+$
+</screen>
+
+    <para>Be aware, too, that if you need to re-parent your working
+      copy (using <command>svn switch --relocate</command>), externals
+      definitions will <emphasis>not</emphasis> also be
+      re-parented.</para>
 
     <para>Finally, there might be times when you would prefer that
       <command>svn</command> subcommands would not recognize or




More information about the svnbook-dev mailing list