You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2010/08/23 19:00:44 UTC

svn commit: r988207 - /subversion/trunk/notes/external-vs-switched

Author: julianfoad
Date: Mon Aug 23 17:00:44 2010
New Revision: 988207

URL: http://svn.apache.org/viewvc?rev=988207&view=rev
Log:
* notes/external-vs-switched
  (tables of differences): Split the 'external' columns into
    'external (file)' and 'external (dir)'. Fill in a few more rows.

Modified:
    subversion/trunk/notes/external-vs-switched

Modified: subversion/trunk/notes/external-vs-switched
URL: http://svn.apache.org/viewvc/subversion/trunk/notes/external-vs-switched?rev=988207&r1=988206&r2=988207&view=diff
==============================================================================
--- subversion/trunk/notes/external-vs-switched (original)
+++ subversion/trunk/notes/external-vs-switched Mon Aug 23 17:00:44 2010
@@ -52,22 +52,24 @@ Differences in WC State
 
 This table documents the differences in WC state at a high level.
 
-  +----------------------+----------------------+----------------------+
-  |                      | switched             | external             |
-  +----------------------+----------------------+----------------------+
-  |                      |                      |                      |
-  | WC path affected     | Existing child       | Non-existent child   |
-  |                      |   of a versioned dir |   or grandchild etc. |
-  |                      |                      |   of a versioned dir |
-  |                      |                      |                      |
-  | Target URL           | Same repo            | Same or other repo   |
-  |                      |                      |                      |
-  | Pinned to a revision | No [2]               | Optional; recorded   |
-  |                      |                      |   in 'svn:externals' |
-  |                      |                      |                      |
-  | Initial depth        | Set by "switch" cmd  | Infinity             |
-  |                      |                      |                      |
-  +----------------------+----------------------+----------------------+
+  +----------------------+----------------------+----------------------+----------------------+
+  |                      | switched             | external (file)      | external (dir)       |
+  +----------------------+----------------------+----------------------+----------------------+
+  |                      |                      |                      |                      |
+  | WC path affected     | Existing child       | Non-existent child   | Non-existent child   |
+  |                      | of a versioned dir   | of a versioned dir   | or grandchild etc.   |
+  |                      |                      |                      | of a versioned dir   |
+  |                      |                      |                      |                      |
+  | Resulting WC         | Same WC              | Same WC              | Separate WC          |
+  |                      |                      |                      |                      |
+  | Target URL           | Same repo            | Same repo            | Same or other repo   |
+  |                      |                      |                      |                      |
+  | Pinned to a revision | No [2]               | Optional; recorded   | Optional; recorded   |
+  |                      |                      | on the node itself   | in 'svn:externals'   |
+  |                      |                      |                      |                      |
+  | Initial depth        | Set by "switch" cmd  | n/a                  | Infinity             |
+  |                      |                      |                      |                      |
+  +----------------------+----------------------+----------------------+----------------------+
 
 ### Anything else?
 
@@ -81,42 +83,43 @@ current (1.6.x) behaviour.
 
 ### We'll need some test scripts to help gather this data.
 
-  +----------------------+----------------------+----------------------+
-  |                      | switched             | external             |
-  +----------------------+----------------------+----------------------+
-  |                      |                      |                      |
-  | recursive descent,   | yes                  | optional             |
-  |   in general         |                      |                      |
-  |                      |                      |                      |
-  | status               | report & descend     | report [& descend]   |
-  |                      |                      |                      |
-  | propget/list/etc.    | ?                    | ?                    |
-  |                      |                      |                      |
-  | diff                 | ?                    | ?                    |
-  |                      |                      |                      |
-  | commit               | descend              | [descend?]           |
-  |                      |                      |                      |
-  | update               | ?                    | ?                    |
-  |                      |                      |                      |
-  | switch               | ?                    | ?                    |
-  |                      |                      |                      |
-  | merge (tracking)     | Skip it; track it as | Just skip it; no     |
-  |                      | skipped.             | tracking needed.     |
-  |                      |                      |                      |
-  | ...                  |                      |                      |
-  |                      |                      |                      |
-  +----------------------+----------------------+----------------------+
+  +----------------------+----------------------+----------------------+----------------------+
+  |                      | switched             | external (file)      | external (dir)       |
+  +----------------------+----------------------+----------------------+----------------------+
+  |                      |                      |                      |                      |
+  | recursive descent,   | descend              | descend              | optional             |
+  |   in general         |                      |                      |                      |
+  |                      |                      |                      |                      |
+  | status               | report & descend     | report 'X' & status  | report [& descend]   |
+  |                      |                      |                      |                      |
+  | propget/list/etc.    | descend              | descend              | skip                 |
+  |                      |                      |                      |                      |
+  | diff                 | descend              | descend              | skip                 |
+  |                      |                      |                      |                      |
+  | commit               | descend              | descend              | skip [5]             |
+  |                      |                      |                      |                      |
+  | update               | descend              | descend              | descend (optional)   |
+  |                      | (in-line)            | (in-line)            | (afterwards)         |
+  |                      |                      |                      |                      |
+  | switch               | ?                    | ?                    | descend [6]          |
+  |                      |                      |                      |                      |
+  | merge (tracking)     | Skip it; track it as | Skip it; track it as | Just skip it; no     |
+  |                      | skipped.             | skipped.             | tracking needed.     |
+  |                      |                      |                      |                      |
+  | ...                  |                      |                      |                      |
+  |                      |                      |                      |                      |
+  +----------------------+----------------------+----------------------+----------------------+
 
 Behaviour differences when the target is the switched/external node or
 somewhere inside it:
 
-  +----------------------+----------------------+----------------------+
-  |                      | switched             | external             |
-  +----------------------+----------------------+----------------------+
-  |                      |                      |                      |
-  | ...                  |                      |                      |
-  |                      |                      |                      |
-  +----------------------+----------------------+----------------------+
+  +----------------------+----------------------+----------------------+----------------------+
+  |                      | switched             | external (file)      | external (dir)       |
+  +----------------------+----------------------+----------------------+----------------------+
+  |                      |                      |                      |                      |
+  | ...                  |                      |                      |                      |
+  |                      |                      |                      |                      |
+  +----------------------+----------------------+----------------------+----------------------+
 
 We ought to think about the UI and design a set of useful and consistent
 behaviours.  But that's out of scope here; this document focuses on the
@@ -143,3 +146,9 @@ Footnotes
       revision number" if present.  But that need not necessarily be an
       exception: we might choose to define that functionality on all WC
       nodes but only use it on 'external' nodes.
+
+  [5] Bert says: "except for some buggy behavior relying on passing a
+      limiting depth".
+
+  [6] Bert says: "externals definitions are normally updated after a
+      switch by handling the svn:externals property changes".