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 |