1 ======================================== |
1 ======================================== |
2 Safe Mutable History |
2 Safe Mutable History |
3 ======================================== |
3 ======================================== |
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 history. |
7 rewriting history. |
8 |
8 |
9 First read about what challenge arise while rewriting history and how we plan to |
9 First read about what challenge arise while rewriting history and how we plan to |
10 solve them once and for all. |
10 solve them once and for all. |
11 |
11 |
12 .. toctree:: |
12 .. toctree:: |
13 :maxdepth: 2 |
13 :maxdepth: 2 |
14 |
14 |
15 instability |
15 instability |
16 |
16 |
17 The effort is splits in two parts: |
17 The effort is split in two parts: |
18 |
18 |
19 * The **obsolete marker** concept aims to provide and alternative to ``strip`` |
19 * The **obsolete marker** concept aims to provide an alternative to ``strip`` |
20 to get rid of changesets. |
20 to get rid of changesets. |
21 |
21 |
22 * The **evolve** mercurial extension to rewrite history using *obsolete marker* |
22 * The **evolve** mercurial extension rewrites history using obsolete |
23 under the hood. |
23 *marker* under the hood. |
24 |
24 |
25 The first and most important step is by far the **obsolete marker**. However |
25 The first and most important step is by far the **obsolete marker**. However |
26 most users will never be directly exposed to the concept. For this reason |
26 most users will never be directly exposed to the concept. For this reason |
27 this manual starts with changeset evolution. |
27 this manual starts with changeset evolution. |
28 |
28 |
143 ================================= |
143 ================================= |
144 |
144 |
145 Here is a list of know issue that will be fixed later: |
145 Here is a list of know issue that will be fixed later: |
146 |
146 |
147 |
147 |
148 |
|
149 * ``hg stabilize`` does not handle merge conflict. |
148 * ``hg stabilize`` does not handle merge conflict. |
150 |
149 |
151 You must fallback to graft or rebase when that happen. |
150 You must fallback to graft or rebase when that happen. |
152 |
151 |
153 * rewriting conflict are not detected yet``hg stabilize`` does not handle them. |
152 * rewriting conflict are not detected yet``hg stabilize`` does not |
|
153 handle them. |
154 |
154 |
155 * ``hg update`` can move an obsolete parent |
155 * ``hg update`` can move an obsolete parent |
156 |
156 |
157 * you need to provide to `graft --continue -O` if you started you graft using `-O`. |
157 * you need to provide to `graft --continue -O` if you started you |
|
158 graft using `-O`. |
158 |
159 |
159 * ``hg merge`` considers an extinct head to be a valid target, hence requiring |
160 * ``hg merge`` considers an extinct head to be a valid target, hence requiring |
160 you to manually specify target all the time. |
161 you to manually specify target all the time. |
161 |
162 |
162 * trying to exchange obsolete relations with a static http repo will crash. |
163 * trying to exchange obsolete relations with a static http repo will crash. |
163 |
164 |
164 * Extinct changeset are turned secret by various commands. |
165 * Extinct changesets are turned secret by various commands. |
165 |
166 |
166 * Extinct changesets are hidden using the *hidden* feature of mercurial only |
167 * Extinct changesets are hidden using the *hidden* feature of mercurial only |
167 supported by a few commands. |
168 supported by a few commands. |
168 |
169 |
169 Only ``hg log``, ``hgview`` and `hg glog` (2.2 only) support it. ``hg head`` or other visual viewer don't. |
170 Only ``hg log``, ``hgview`` and `hg glog` (2.2 only) support it. ``hg head`` or other visual viewer don't. |