--- a/docs/index.rst Wed May 09 12:43:45 2012 +0200
+++ b/docs/index.rst Wed May 09 13:08:46 2012 +0200
@@ -6,7 +6,14 @@
Here are various Materials on planned improvement to mercurial regarding
rewriting history.
-The effort splits in two parts:
+First read about what challenge arise while rewriting history and how we plan to solve them once and for all.
+
+.. toctree::
+ :maxdepth: 2
+
+ unstability
+
+The effort is splits in two parts:
* The **obsolete marker** concept aims to provide and alternative to ``strip``
to get ride of changesets.
@@ -27,22 +34,26 @@
markers. It is inspired from MQ and pbranch but have multiple advantage over
them:
-* sticks to "Work where you are" philosophy (I'll need better wording
- for that)
+* Focus on your current work.
+
+ You can focus your work on a single changeset and take care of adapting
+ descendent changeset later.
* Handle **non-linear history with branches and merges**
-* Use **robust merge** mechanism of mercurial.
+* Rely internally on **robust merge** mechanism of mercurial.
- simple conflict are handled by real merge tools using appropriate ancestor.
+ Simple conflict are handled by real merge tools using appropriate ancestor.
Conflict are much rarer and much more user friendly.
-* Mutable history **fully available all the time**.
+* Mutable history are **fully available all the time**.
You are do not need to unapply and apply patche to access various part of you
history.
-* Use **plain changeset** only. Evole create and exchange real changeset only.
+* Use **plain changeset** only.
+
+ Evolve create and exchange real changeset only, not patches.
Mutable history can be used in all usual operation 'pull, push, log, diff …)
* Allow **sharing and collaboration** mutable history without fear of duplicate.
@@ -55,6 +66,8 @@
implication of the **obsolete marker** concept. I do not recommend
non power user to test this at this stage.
+ XXX make sure to read the XXX section before using it.
+
Production ready version should hide such details to normal user.
To enable the evolve extension use::
@@ -62,17 +75,18 @@
$ hg clone http://hg-dev.octopoid.net/hgwebdir.cgi/mutable-history/
$ mutable-history/enable.sh >> ~/.hgrc
-You will probably want to use the associated version of hgview (QT viewer
-only). ::
+You will probably want to use the associated version of hgview (qt viewer
+recommended). ::
$ hg clone http://hg-dev.octopoid.net/hgwebdir.cgi/hgview/
$ cd hgview
$ python setup.py install --user
+works with mercurial 2.1 and 2.2 (recommended)
---
-For more information see documents below
+For more information see documents below:
.. toctree::
:maxdepth: 2
@@ -119,31 +133,45 @@
-Know canveas
+Known limitation and bug
=================================
Here is a list of know issue that will be fixed later:
-* Unstable changeset turns secret.
+
+
+* ``hg stabilize`` does not handle merge conflict.
-* ``hg stabilize`` does not handle conflict.
+ You must fallback to graft or rebase when that happen.
-* Mercurial think you are pushing additional heads even when the new head
- obsolete another one. You have to use hg push -f more than necessary.
+* rewritinf conflict are not detected yet``hg stabilize`` does not handle them.
* ``hg update`` can move an obsolete parent
-* you need to provideto graft --continue -O if you started you graft using -O.
-
-* hg graphlog show extinct changeset
-
-* hg heads show extinct changeset
+* you need to provide to `graft --continue -O` if you started you graft using `-O`.
* hg merge considered extinct head as valid target. requiring you to manually
specify target all the time.
* obsolete relation exchange crash (as in traceback) on static http repo.
+* Extinct changeset are turned secret by various commands.
+
+* Extinct changesets are hidden using the *hidden* feature of mercurial only
+ supported by a few commands.
+
+ Only ``hg log``, ``hgview`` and `hg glog` (2.2 only) support it. ``hg head`` or other visual viewer don't.
+
+* hg heads show extinct changeset
+
+Fixed in 2.2
+---------------------------------
+
+* hg graphlog show extinct changeset
+
+* Mercurial 2.1 think you are pushing additional heads even when the new head
+ obsolete another one. You have to use hg push -f more than necessary.
+