equal
deleted
inserted
replaced
14 |
14 |
15 instability |
15 instability |
16 |
16 |
17 The effort is split in two parts: |
17 The effort is split in two parts: |
18 |
18 |
19 * The **obsolete marker** concept aims to provide an alternative to ``strip`` |
19 * The **obsolescence marker** concept aims to provide an alternative to ``strip`` |
20 to get rid of changesets. |
20 to get rid of changesets. This concept have been partially implemented in |
|
21 Mercurial 2.3. |
21 |
22 |
22 * The **evolve** mercurial extension rewrites history using obsolete |
23 * The **evolve** mercurial extension rewrites history using obsolete |
23 *marker* under the hood. |
24 *marker* under the hood. |
24 |
25 |
25 The first and most important step is by far the **obsolete marker**. However |
26 The first and most important step is by far the **obsolescence marker**. However |
26 most users will never be directly exposed to the concept. For this reason |
27 most users will never be directly exposed to the concept. For this reason |
27 this manual starts with changeset evolution. |
28 this manual starts with changeset evolution. |
28 |
29 |
29 Evolve: A robust alternative to MQ |
30 Evolve: A robust alternative to MQ |
30 ==================================== |
31 ==================================== |
67 |
68 |
68 XXX make sure to read the XXX section before using it. |
69 XXX make sure to read the XXX section before using it. |
69 |
70 |
70 Production ready version should hide such details to normal user. |
71 Production ready version should hide such details to normal user. |
71 |
72 |
|
73 The evolve extension require mercurial 2.3 |
|
74 |
72 To enable the evolve extension use:: |
75 To enable the evolve extension use:: |
73 |
76 |
74 $ hg clone https://bitbucket.org/marmoute/mutable-history -u stable |
77 $ hg clone https://bitbucket.org/marmoute/mutable-history -u stable |
75 $ mutable-history/enable.sh >> ~/.hgrc |
78 $ mutable-history/enable.sh >> ~/.hgrc |
76 |
79 |
77 You will probably want to use the associated version of hgview (qt viewer |
80 You will probably want to use hgview_ to visualize obsolescence. Version 1.6.2 |
78 recommended). :: |
81 or later is required. |
79 |
82 |
80 $ hg clone http://hg-lab.logilab.org/wip/hgview/ -u obsolete |
83 .. _hgview: http://www.logilab.org/project/hgview/ |
81 $ cd hgview |
|
82 $ python setup.py install --user |
|
83 |
84 |
84 Works with mercurial 2.2 |
85 (The old version 0.7 of evolve works with mercurial 2.2 but have far less feature) |
|
86 |
85 |
87 |
86 --- |
88 --- |
87 |
89 |
88 For more information see documents below: |
90 For more information see documents below: |
89 |
91 |
135 ================================= |
137 ================================= |
136 |
138 |
137 Here is a list of know issue that will be fixed later: |
139 Here is a list of know issue that will be fixed later: |
138 |
140 |
139 |
141 |
140 * rewriting conflict are not detected yet``hg evolve`` does not |
|
141 handle them. |
|
142 |
|
143 * ``hg update`` can move an obsolete parent |
|
144 |
|
145 * you need to provide to `graft --continue -O` if you started you |
142 * you need to provide to `graft --continue -O` if you started you |
146 graft using `-O`. |
143 graft using `-O`. |
147 |
144 |
148 * ``hg merge`` considers an extinct head to be a valid target, hence requiring |
|
149 you to manually specify target all the time. |
145 you to manually specify target all the time. |
150 |
146 |
151 * trying to exchange obsolete marker with a static http repo will crash. |
147 * trying to exchange obsolete marker with a static http repo will crash. |
152 |
|
153 * trying to exchange a lot of obsolete markers through http crash. |
|
154 |
|
155 * Extinct changesets are turned secret by various commands. |
|
156 |
148 |
157 * Extinct changesets are hidden using the *hidden* feature of mercurial only |
149 * Extinct changesets are hidden using the *hidden* feature of mercurial only |
158 supported by a few commands. |
150 supported by a few commands. |
159 |
151 |
160 Only ``hg log``, ``hgview`` and `hg glog` support it. ``hg head`` or other visual viewer don't. |
152 Only ``hg log``, ``hgview`` and `hg glog` support it. ``hg head`` or other visual viewer don't. |