comparison docs/index.rst @ 164:c81d286c4a5b

improved intro about evolve
author Pierre-Yves David <pierre-yves.david@logilab.fr>
date Mon, 26 Mar 2012 18:22:09 +0200
parents 92b073d13f2d
children ef6113f3d38e
comparison
equal deleted inserted replaced
163:92b073d13f2d 164:c81d286c4a5b
4 4
5 5
6 Here are various Materials on planned improvement to mercurial regarding 6 Here are various Materials on planned improvement to mercurial regarding
7 rewriting mutable history. 7 rewriting mutable history.
8 8
9 The effort is splitted in two part: 9 The effort split in two part:
10 10
11 * The **obsolete marker** concept aiming to provide and alternative to strip to 11 * The **obsolete marker** concept aiming to provide and alternative to strip to
12 get ride of changesets. 12 get ride of changesets.
13 13
14 * A mercurial extension: **evolve** that rewrite using *obsolete marker* 14 * A mercurial extension: **evolve** that rewrite using *obsolete marker*
21 21
22 22
23 Evolve: A robust alternative to MQ 23 Evolve: A robust alternative to MQ
24 ==================================== 24 ====================================
25 25
26 Evolve is an experimental history rewriting extensions that use the obsolete
27 marker. It is inspired from MQ and pbranch but have multiple advantage over
28 them.
26 29
27 * Using the obsolete marker concept, (see next section for advantage of the 30 * sticks to "Work where you are" philosophy (I'll need better wording
28 obsolete marker) 31 for that)
29 32
30 * provide a more robust alternative for mq covering any usage but guard. 33 * Handle any kind history. Even history with branch and merge.
31 34
32 ..warning:: The evolve extention and the obsolete marker are at an experimental 35 * Use robust mercurial's merge mechanism
36
37 simple conflict are handled by real merge tools using appropriate ancestor.
38 Conflict are much rarer and much more user friendly.
39
40 * All mutable history available at the same time
41
42 You are do not need to unapply and apply patche to access various part of you
43 history.
44
45 * Use plain changeset only. Evole create and exchange real changeset only.
46 Mutable history can be used in all usual operation 'pull, push, log, diff …)
47
48 * Allow sharing and collaborating mutable history without fear of duplicate.
49 (thanks to obsolete marker).
50
51 * Cover all mq usage but guard.
52
53 .. warning:: The evolve extention and the obsolete marker are at an experimental
33 stage. While using obsolet you'll likely be exposed to complexe 54 stage. While using obsolet you'll likely be exposed to complexe
34 implication of the **obsolete marker** concept. I do not recommend 55 implication of the **obsolete marker** concept. I do not recommend
35 non power user to test this at this stage. 56 non power user to test this at this stage.
36 57
37 Production ready version should hide such details to normal user. 58 Production ready version should hide such details to normal user.
38 59
39 To enable the evolve extension use:: 60 To enable the evolve extension use::
40 61
41 $ hg clone http://hg-dev.octopoid.net/hgwebdir.cgi/mutable-history/ 62 $ hg clone http://hg-dev.octopoid.net/hgwebdir.cgi/mutable-history/
42 $ mutable-history/enable.sh > ~/.hgrc 63 $ mutable-history/enable.sh > ~/.hgrc
43
44 64
45 65
46 .. toctree:: 66 .. toctree::
47 :maxdepth: 1 67 :maxdepth: 1
48 68