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
|