33
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
1 ============================= |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
2 Mutable History For Mercurial |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
3 ============================= |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
4 |
35
|
5 This repository holds three experimental extensions that introduce concepts |
|
6 related to history rewriting in mercurial. |
33
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
7 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
8 :states: |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
9 |
35
|
10 Introduce a state concept. It allows to track which changesets have been |
|
11 made public and immutable and which you want to keep local. |
33
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
12 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
13 :obsolete: |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
14 |
35
|
15 Introduce an ``obsolete`` concept that tracks new versions of rewritten |
|
16 changesets. |
33
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
17 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
18 :rewrite: |
35
|
19 A collection of commands to rewrite the mutable part of the history. |
33
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
20 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
21 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
22 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
23 **These extensions are experimental and are not meant for production.** |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
24 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
25 |
59
02fba620d139
move part of the readme about states in states itself.
Pierre-Yves David <pierre-yves.david@logilab.fr>
diff
changeset
|
26 See each extension documentation for details |
48
|
27 |
33
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
28 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
29 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
30 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
31 Obsolete Extension |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
32 ====================== |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
33 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
34 state: in progress |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
35 |
35
|
36 This extension introduces the *obsolete* concept. It adds a new *obsolete* |
|
37 relation between two changesets. A relation ``<changeset B> obsolete <changeset |
|
38 A>`` is set to denote that ``<changeset B>`` is new version of ``<changeset |
|
39 A>``. |
34
|
40 |
|
41 The *obsolete* relation act as a **perpendicular history** to the standard |
35
|
42 changeset history. Standard changeset history versions files. The *obsolete* |
|
43 relation versions changesets. |
34
|
44 |
33
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
45 Usage and Feature |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
46 ------------------ |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
47 |
35
|
48 obsolete changesets are hidden. |
33
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
49 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
50 Commands |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
51 ........ |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
52 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
53 |
35
|
54 a ``debugobsolete`` command has been added. |
33
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
55 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
56 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
57 To Do |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
58 ----- |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
59 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
60 * do not exchange them |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
61 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
62 * handle non-obsolete children |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
63 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
64 * exchange the obsolete information |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
65 |
35
|
66 * refuse to obsolete published changesets |
33
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
67 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
68 * handle split |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
69 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
70 * handle conflict |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
71 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
72 * handle out of sync |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
73 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
74 rewrite Extension |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
75 ====================== |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
76 |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
77 state: To be written |
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
78 |