docs/obs-implementation.rst
changeset 227 abe52cf492ee
parent 161 4e3f25ba5401
child 228 5a17c0d41a00
--- a/docs/obs-implementation.rst	Wed May 09 12:43:45 2012 +0200
+++ b/docs/obs-implementation.rst	Wed May 09 13:08:46 2012 +0200
@@ -21,13 +21,27 @@
 Abstraction from history rewriting UI
 ```````````````````````````````````````````
 
-How Mercurial handle obsolete marker is independent from who decide to create
-them and what actual operation solve error case. Any of the existing history
+How Mercurial handle obsolete marker is independent from what create
+them and what actual operation solves error case. Any of the existing history
 rewriting UI (rebase, mq, histedit) can lay obsolete marker and resolve
 situation created by other. To go further a hook system of obsolete marker
 creation would allow each mechanism to collaborate with other though a standard
 and central mechanism.
 
+Obsolete marker content
+```````````````````````````
+
+In the current implementation obsolete marker contains::
+
+    'id': "unique id of the obsolete marker"
+    'subjects': "0-N newer version of changeset in "object" (as ordered list)
+    'object': "old and obsolete version"
+    'date': "When was this marker created ?"
+    'user': "Who did that ?"
+    'reason': "Why was it done"
+
+Grouping them for operation that create multiple markers are once may be a good
+idea. (would help, exchange and cancelation)
 
 Obsolete marker storage
 ```````````````````````````
@@ -76,18 +90,18 @@
 An experimental implementatione exists. What have been done so far.
 
 
-* 1-1 obsolete marker stored outside history,
+* rich markers stored outside history,
+* obsolete markers exchange through pushkey,
 
-* compute obsolete-tip
-
-* obsolete marker exchange through pushkey,
+* compute obsolete-tip (newest version of a changeset)
 
 * compute obsolete, unstable, extinct and suspended set.
 
 * hidden extinct changesets for UI.
 
-* Use secret phase to remove from discovery obsolete and unstable changeset (to
-  be improved soon)
+* Require `--force` to push unstable history.
+
+* Use secret phase to remove extinct changesets from discovery.
 
 * alter rebase to use obsolete marker instead of stripping. (XXX break --keep for now)