You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ph...@apache.org on 2010/02/20 11:25:45 UTC
svn commit: r912096 - /subversion/trunk/notes/wc-ng/transitions
Author: philip
Date: Sat Feb 20 10:25:45 2010
New Revision: 912096
URL: http://svn.apache.org/viewvc?rev=912096&view=rev
Log:
* notes/wc-ng/transitions: Correct some delete transitions
Modified:
subversion/trunk/notes/wc-ng/transitions
Modified: subversion/trunk/notes/wc-ng/transitions
URL: http://svn.apache.org/viewvc/subversion/trunk/notes/wc-ng/transitions?rev=912096&r1=912095&r2=912096&view=diff
==============================================================================
--- subversion/trunk/notes/wc-ng/transitions (original)
+++ subversion/trunk/notes/wc-ng/transitions Sat Feb 20 10:25:45 2010
@@ -1,12 +1,22 @@
-Delete and revert both operate on WORKING_NODE.presence while leaving
-BASE_NODE.presence untouched.
-
-Possible BASE_NODE.presence values:
-<none>, normal, incomplete, absent, excluded, not-present
-
-Possible WORKING_NODE.presence values:
-<none>, normal, incomplete, absent, excluded, not-present, base-deleted
+Delete and revert both modify WORKING_NODE while leaving BASE_NODE (if
+it exists) unchanged. The two operations can modify or delete the
+WORKING_NODE associated with a BASE_NODE. Delete can also create a
+new WORKING_NODE.
+
+The original state before the operation can be characterised by
+BASE_NODE.presence and WORKING_NODE.presence, and only
+WORKING_NODE.presence changes (except when a new WORKING_NODE is
+created).
+
+There are 5 possible BASE_NODE.presence values:
+ normal, incomplete, absent, excluded, not-present
+in addition to <none> when the BASE_NODE does not exist.
+
+There are 6 possible WORKING_NODE.presence values:
+ normal, incomplete, absent, excluded, not-present, base-deleted
+in addition to <none> when the WORKING_NODE does not exist.
+When removing a WORKING_NODE any ACTUAL_NODE is also removed.
------original-state------- ----delete----
BASE_NODE WORKING_NODE WORKING_NODE
@@ -18,15 +28,15 @@
<none> not-present -
<none> base-deleted -
normal <none> base-deleted
-normal normal <none> or not-present [1]
-normal incomplete <none> or - [2]
+normal normal base-deleted or not-present [4]
+normal incomplete base-deleted or - [5]
normal absent -
normal excluded - [3]
normal not-present -
normal base-deleted -
incomplete <none> base-deleted
-incomplete normal <none> or not-present [1]
-incomplete incomplete <none> or - [2]
+incomplete normal base-deleted or not-present [4]
+incomplete incomplete base-deleted or - [5]
incomplete absent -
incomplete excluded - [3]
incomplete not-present -
@@ -39,8 +49,8 @@
absent not-present x
absent base-deleted x
excluded <none> base-deleted
-excluded normal <none> or not-present [1]
-excluded incomplete <none> or - [2]
+excluded normal base-deleted or not-present [4]
+excluded incomplete base-deleted or - [5]
excluded absent -
excluded excluded - [3]
excluded not-present -
@@ -57,22 +67,22 @@
------original-state------- ---revert---
BASE_NODE WORKING_NODE WORKING_NODE
<none> <none> -
-<none> normal <none> or - [4]
-<none> incomplete <none> or - [4]
+<none> normal <none> or - [6]
+<none> incomplete <none> or - [6]
<none> absent -
<none> excluded -
<none> not-present normal
<none> base-deleted <none>
normal <none> -
-normal normal <none> or - [4]
-normal incomplete <none> or - [4]
+normal normal <none> or - [6]
+normal incomplete <none> or - [6]
normal absent -
normal excluded -
normal not-present normal
normal base-deleted <none>
incomplete <none> -
-incomplete normal <none> or - [4]
-incomplete incomplete <none> or - [4]
+incomplete normal <none> or - [6]
+incomplete incomplete <none> or - [6]
incomplete absent -
incomplete excluded -
incomplete not-present normal
@@ -85,15 +95,15 @@
absent not-present x
absent base-deleted x
excluded <none> -
-excluded normal <none> or - [4]
-excluded incomplete <none> or - [4]
+excluded normal <none> or - [6]
+excluded incomplete <none> or - [6]
excluded absent -
excluded excluded -
excluded not-present normal
excluded base-deleted <none>
not-present <none> -
-not-present normal <none> or - [4]
-not-present incomplete <none> or - [4]
+not-present normal <none> or - [6]
+not-present incomplete <none> or - [6]
not-present absent -
not-present excluded -
not-present not-present normal
@@ -110,7 +120,9 @@
[1] <none> if the root of the copy, not-present otherwise.
[2] <none> if the root of the copy, - otherwise
[3] A sparse copy, should commit automatically delete an excluded node?
-[4] <none> if the root of the copy, - otherwise
+[4] base-deleted if the root of the copy, not-present otherwise
+[5] base-deleted if the root of the copy, - otherwise
+[6] <none> if the root of the copy, - otherwise
Generally BASE_NODE.presence normal and incomplete are treated the