========================================
Safe Mutable History
========================================
Here are various Materials on planned improvement to mercurial regarding
rewriting mutable history.
The effort split in two part:
* The **obsolete marker** concept aiming to provide and alternative to strip to
get ride of changesets.
* A mercurial extension: **evolve** that rewrite using *obsolete marker*
under the hood.
regarding mercurial internals, the first and most important step is the
**obsolete marker**. However most user will never be directly exposed to the
concept. For this reason document about changeset evolution are put first.
Evolve: A robust alternative to MQ
====================================
Evolve is an experimental history rewriting extensions that use the obsolete
marker. 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)
* Handle any kind history. Even history with branch and merge.
* Use robust mercurial's merge mechanism
simple conflict are handled by real merge tools using appropriate ancestor.
Conflict are much rarer and much more user friendly.
* All mutable history available at the same 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.
Mutable history can be used in all usual operation 'pull, push, log, diff …)
* Allow sharing and collaborating mutable history without fear of duplicate.
(thanks to obsolete marker).
* Cover all mq usage but guard.
.. warning:: The evolve extention and the obsolete marker are at an experimental
stage. While using obsolet you'll likely be exposed to complexe
implication of the **obsolete marker** concept. I do not recommend
non power user to test this at this stage.
Production ready version should hide such details to normal user.
To enable the evolve extension use::
$ hg clone http://hg-dev.octopoid.net/hgwebdir.cgi/mutable-history/
$ mutable-history/enable.sh > ~/.hgrc
.. toctree::
:maxdepth: 1
tutorial
evolve-faq
from-mq
A new UI to replace MQ
=================================
for dev and advanced user
.. toctree::
:maxdepth: 1
obs-concept
glossary
obs-implementation
Big flasshy warning on current remaining issue