annotate docs/obs-terms.rst @ 4710:0e0731406efd

rewriteutil: allow rewriting merge commits (issue4561) This patch simply allows rewriteutil.rewrite() to work with commits with multiple parents (i.e. merges). That function is used in such commands as fold, metaedit, touch, rewind. The issue 4561 is marked as easy, the limitation is called unnecessary, no tests fail after this change. What can go wrong.
author Anton Shestakov <av6@dwimlabs.net>
date Tue, 09 Jul 2019 17:08:34 +0800
parents 8784dfc6537c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
519
9825c7da5b54 ensure all file have a copyright notice
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 505
diff changeset
1 .. Copyright 2011 Pierre-Yves David <pierre-yves.david@ens-lyon.org>
9825c7da5b54 ensure all file have a copyright notice
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 505
diff changeset
2 .. Logilab SA <contact@logilab.fr>
527
b81193ef3488 docs: add missing blank line after Copyright notice
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 519
diff changeset
3
1287
6f2c1574eda8 docs: fix slightly unconventional .rst markup
Greg Ward <greg@gerg.ca>
parents: 593
diff changeset
4 -----------------------------------
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
5 Terminology of the obsolete concept
1287
6f2c1574eda8 docs: fix slightly unconventional .rst markup
Greg Ward <greg@gerg.ca>
parents: 593
diff changeset
6 -----------------------------------
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
7
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
8 Obsolete markers
1287
6f2c1574eda8 docs: fix slightly unconventional .rst markup
Greg Ward <greg@gerg.ca>
parents: 593
diff changeset
9 ----------------
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
10
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
11 The mutable concept is based on **obsolete markers**. Creating an obsolete
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
12 marker registers a relation between an old obsoleted changeset and its newer
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
13 version.
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
14
4615
8406d9b06130 docs: change `precursors` references to `predecessors`
Matt Harbison <matt_harbison@yahoo.com>
parents: 2862
diff changeset
15 Old changesets are called **predecessors** while their new versions are called
8406d9b06130 docs: change `precursors` references to `predecessors`
Matt Harbison <matt_harbison@yahoo.com>
parents: 2862
diff changeset
16 **successors**. A marker always registers a single *predecessor* and:
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
17
4615
8406d9b06130 docs: change `precursors` references to `predecessors`
Matt Harbison <matt_harbison@yahoo.com>
parents: 2862
diff changeset
18 - no *successor*: the *predecessor* is just discarded.
8406d9b06130 docs: change `precursors` references to `predecessors`
Matt Harbison <matt_harbison@yahoo.com>
parents: 2862
diff changeset
19 - one *successor*: the *predecessor* has been rewritten
8406d9b06130 docs: change `precursors` references to `predecessors`
Matt Harbison <matt_harbison@yahoo.com>
parents: 2862
diff changeset
20 - multiple *successors*: the *predecessor* were splits in multiple
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
21 changesets.
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
22
4615
8406d9b06130 docs: change `precursors` references to `predecessors`
Matt Harbison <matt_harbison@yahoo.com>
parents: 2862
diff changeset
23 .. The *predecessors* and *successors* terms can be used on changeset directly:
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
24
4615
8406d9b06130 docs: change `precursors` references to `predecessors`
Matt Harbison <matt_harbison@yahoo.com>
parents: 2862
diff changeset
25 .. :predecessors: of a changeset `A` are changesets used as *predecessors* by
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
26 .. obsolete marker using changeset `A` as *successors*
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
27
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
28 .. :successors: of a changeset `B` are changesets used as *successors* by
4615
8406d9b06130 docs: change `precursors` references to `predecessors`
Matt Harbison <matt_harbison@yahoo.com>
parents: 2862
diff changeset
29 .. obsolete marker using changeset `B` as *predecessors*
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
30
369
f348088d3b3f marmoute N+2 pass
Pierre-Yves.David@ens-lyon.org
parents: 368
diff changeset
31 Chaining obsolete markers is allowed to rewrite a changeset that is already a
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
32 *successor*. This is a kind of *second order version control*.
4615
8406d9b06130 docs: change `precursors` references to `predecessors`
Matt Harbison <matt_harbison@yahoo.com>
parents: 2862
diff changeset
33 To clarify ambiguous situations one can use **direct predecessors** or
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
34 **direct successors** to name changesets that are directly related.
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
35
369
f348088d3b3f marmoute N+2 pass
Pierre-Yves.David@ens-lyon.org
parents: 368
diff changeset
36 The set of all *obsolete markers* forms a direct acyclic graph the same way
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
37 standard *parents*/*children* relation does. In this graph we have:
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
38
4615
8406d9b06130 docs: change `precursors` references to `predecessors`
Matt Harbison <matt_harbison@yahoo.com>
parents: 2862
diff changeset
39 :any predecessors: are transitive predecessors of a changeset: *direct predecessors*
8406d9b06130 docs: change `precursors` references to `predecessors`
Matt Harbison <matt_harbison@yahoo.com>
parents: 2862
diff changeset
40 and *predecessors* of *predecessors*.
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
41
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
42 :any successors: are transitive successors of a changeset: *direct successors*
369
f348088d3b3f marmoute N+2 pass
Pierre-Yves.David@ens-lyon.org
parents: 368
diff changeset
43 and *successors* of *successors*)
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
44
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
45 Obsolete markers may refer changesets that are not known locally.
4615
8406d9b06130 docs: change `precursors` references to `predecessors`
Matt Harbison <matt_harbison@yahoo.com>
parents: 2862
diff changeset
46 So, *direct predecessors* of a changeset may be unknown locally.
8406d9b06130 docs: change `precursors` references to `predecessors`
Matt Harbison <matt_harbison@yahoo.com>
parents: 2862
diff changeset
47 This is why we usually focus on the **first known predecessors** of the rewritten
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
48 changeset. The same apply for *successors*.
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
49
370
7ef8ab8c6fea some more fix
Pierre-Yves.David@ens-lyon.org
parents: 369
diff changeset
50 Changeset in *any successors* which are not **obsolete** are called
369
f348088d3b3f marmoute N+2 pass
Pierre-Yves.David@ens-lyon.org
parents: 368
diff changeset
51 **newest successors**..
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
52
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
53 .. note:: I'm not very happy with this naming scheme and I'm looking for a
505
e462b3bd3e82 doc: fix emphasis
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 493
diff changeset
54 better distinction between *direct successors* and **any successors**.
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
55
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
56 Possible changesets "type"
1287
6f2c1574eda8 docs: fix slightly unconventional .rst markup
Greg Ward <greg@gerg.ca>
parents: 593
diff changeset
57 --------------------------
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
58
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
59 The following table describes names and behaviors of changesets affected by
369
f348088d3b3f marmoute N+2 pass
Pierre-Yves.David@ens-lyon.org
parents: 368
diff changeset
60 obsolete markers. The left column describes generic categories and the right
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
61 columns are about sub-categories.
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
62
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
63
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
64 +---------------------+--------------------------+-----------------------------+
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
65 | **mutable** | **obsolete** | **extinct** |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
66 | | | |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
67 | Changeset in either | Obsolete changeset is | *extinct* changeset is |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
68 | *draft* or *secret* | *mutable* used as a | *obsolete* which has only |
4615
8406d9b06130 docs: change `precursors` references to `predecessors`
Matt Harbison <matt_harbison@yahoo.com>
parents: 2862
diff changeset
69 | phase. | *predecessor*. | *obsolete* descendants. |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
70 | | | |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
71 | | A changeset is used as | They can safely be: |
4615
8406d9b06130 docs: change `precursors` references to `predecessors`
Matt Harbison <matt_harbison@yahoo.com>
parents: 2862
diff changeset
72 | | a *predecessor* when at | |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
73 | | least one obsolete | - hidden in the UI, |
369
f348088d3b3f marmoute N+2 pass
Pierre-Yves.David@ens-lyon.org
parents: 368
diff changeset
74 | | marker refers to it | - silently excluded from |
4615
8406d9b06130 docs: change `precursors` references to `predecessors`
Matt Harbison <matt_harbison@yahoo.com>
parents: 2862
diff changeset
75 | | as predecessors. | pull and push operations |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
76 | | | - mostly ignored |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
77 | | | - garbage collected |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
78 | | | |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
79 | | +-----------------------------+
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
80 | | | |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
81 | | | **suspended** |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
82 | | | |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
83 | | | *suspended* changeset is |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
84 | | | *obsolete* with at least |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
85 | | | one non-obsolete descendant |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
86 | | | |
1660
ec4167ac79ab Spelling: those
timeless@gmail.com
parents: 1656
diff changeset
87 | | | Those descendants prevent |
1651
cd2c2fd718c5 Spelling: extinct
timeless@gmail.com
parents: 1650
diff changeset
88 | | | properties of extinct |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
89 | | | changesets to apply. But |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
90 | | | they will refuse to be |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
91 | | | pushed without --force. |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
92 | | | |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
93 | +--------------------------+-----------------------------+
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
94 | | | |
4619
93514c421528 docs: change `troubled` references to `unstable`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4618
diff changeset
95 | | **unstable** | **orphan** |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
96 | | | |
4619
93514c421528 docs: change `troubled` references to `unstable`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4618
diff changeset
97 | | *unstable* has | *orphan* is a changeset |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
98 | | unresolved issue caused | with obsolete ancestors. |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
99 | | by *obsolete* relations. | |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
100 | | | |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
101 | | Possible issues are | It must be rebased on a |
4619
93514c421528 docs: change `troubled` references to `unstable`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4618
diff changeset
102 | | listed in the next | non *unstable* base to |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
103 | | column. It is possible | solve the problem. |
4619
93514c421528 docs: change `troubled` references to `unstable`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4618
diff changeset
104 | | for *unstable* | |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
105 | | changeset to combine | (possible alternative name: |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
106 | | multiple issue at once. | precarious) |
4620
a05bfdf372fb docs: change `divergent` references to `content-divergent`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4619
diff changeset
107 | | (a.k.a. content-divergent| |
a05bfdf372fb docs: change `divergent` references to `content-divergent`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4619
diff changeset
108 | | and orphan) +-----------------------------+
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
109 | | | |
4621
8784dfc6537c docs: change `bumped` references to `phase-divergent`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4620
diff changeset
110 | | (possible alternative | **phase-divergent** |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
111 | | names: unsettled, | |
4621
8784dfc6537c docs: change `bumped` references to `phase-divergent`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4620
diff changeset
112 | | troublesome | *phase-divergent* is a |
8784dfc6537c docs: change `bumped` references to `phase-divergent`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4620
diff changeset
113 | | | changeset that tries to be |
8784dfc6537c docs: change `bumped` references to `phase-divergent`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4620
diff changeset
114 | | | successor of a public |
8784dfc6537c docs: change `bumped` references to `phase-divergent`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4620
diff changeset
115 | | | changeset. |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
116 | | | |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
117 | | | Public changeset can't |
370
7ef8ab8c6fea some more fix
Pierre-Yves.David@ens-lyon.org
parents: 369
diff changeset
118 | | | be deleted and replace |
4621
8784dfc6537c docs: change `bumped` references to `phase-divergent`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4620
diff changeset
119 | | | *phase-divergent* |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
120 | | | need to be converted into |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
121 | | | an overlay to this public |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
122 | | | changeset. |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
123 | | | |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
124 | | | (possible alternative names:|
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
125 | | | mislead, naive, unaware, |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
126 | | | mindless, disenchanting) |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
127 | | | |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
128 | | +-----------------------------+
4620
a05bfdf372fb docs: change `divergent` references to `content-divergent`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4619
diff changeset
129 | | | **content-divergent** |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
130 | | | |
4620
a05bfdf372fb docs: change `divergent` references to `content-divergent`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4619
diff changeset
131 | | | *content-divergent* is a |
a05bfdf372fb docs: change `divergent` references to `content-divergent`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4619
diff changeset
132 | | | changeset that appears when |
a05bfdf372fb docs: change `divergent` references to `content-divergent`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4619
diff changeset
133 | | | multiple changesets are |
a05bfdf372fb docs: change `divergent` references to `content-divergent`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4619
diff changeset
134 | | | successors of the same |
a05bfdf372fb docs: change `divergent` references to `content-divergent`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4619
diff changeset
135 | | | predecessor. |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
136 | | | |
4620
a05bfdf372fb docs: change `divergent` references to `content-divergent`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4619
diff changeset
137 | | | *content-divergent* are |
a05bfdf372fb docs: change `divergent` references to `content-divergent`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4619
diff changeset
138 | | | solved through a three way |
a05bfdf372fb docs: change `divergent` references to `content-divergent`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4619
diff changeset
139 | | | merge between the two |
a05bfdf372fb docs: change `divergent` references to `content-divergent`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4619
diff changeset
140 | | | *content-divergent* , |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
141 | | | using the last "obsolete- |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
142 | | | -common-ancestor" as the |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
143 | | | base. |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
144 | | | |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
145 | | | (*splitting* is |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
146 | | | properly not detected as a |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
147 | | | conflict) |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
148 | | | |
493
9a4867b79f6c doc: some terms update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 492
diff changeset
149 | | | (possible alternative names:|
2862
07ce6c063c61 doc: typo fixes
Philippe Pepiot <phil@philpep.org>
parents: 1660
diff changeset
150 | | | clashing, rival, concurrent,|
575
36de5e30d3eb doc: rename conflicting to divergent.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 527
diff changeset
151 | | | conflicting) |
493
9a4867b79f6c doc: some terms update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 492
diff changeset
152 | | | |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
153 | +--------------------------+-----------------------------+
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
154 | | |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
155 | | Mutable changesets which are neither *obsolete* or |
4619
93514c421528 docs: change `troubled` references to `unstable`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4618
diff changeset
156 | | *unstable* are *"ok"*. |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
157 | | |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
158 | | Do we really need a name for it ? *"ok"* is a pretty |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
159 | | crappy name :-/ other possibilities are: |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
160 | | |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
161 | | - stable (confusing with stable branch) |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
162 | | - sane |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
163 | | - healthy |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
164 | | |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
165 +---------------------+--------------------------------------------------------+
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
166 | |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
167 | **immutable** |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
168 | |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
169 | Changesets in the *public* phases. |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
170 | |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
171 | Rewriting operation refuse to work on immutable changeset. |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
172 | |
4615
8406d9b06130 docs: change `precursors` references to `predecessors`
Matt Harbison <matt_harbison@yahoo.com>
parents: 2862
diff changeset
173 | Obsolete markers that refer an immutable changeset as predecessors have |
8406d9b06130 docs: change `precursors` references to `predecessors`
Matt Harbison <matt_harbison@yahoo.com>
parents: 2862
diff changeset
174 | no effect on the predecessors but may have effect on the successors. |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
175 | |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
176 | When a *mutable* changeset becomes *immutable* (changing its phase from draft|
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
177 | to public) it is just *immutable* and loose any property of it's former |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
178 | state. |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
179 | |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
180 | The phase properties says that public changesets stay as *immutable* forever.|
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
181 | |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
182 +------------------------------------------------------------------------------+
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
183
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
184
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
185
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
186 Command and operation name
1287
6f2c1574eda8 docs: fix slightly unconventional .rst markup
Greg Ward <greg@gerg.ca>
parents: 593
diff changeset
187 --------------------------
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
188
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
189
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
190 Existing terms
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
191 ``````````````
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
192
369
f348088d3b3f marmoute N+2 pass
Pierre-Yves.David@ens-lyon.org
parents: 368
diff changeset
193 Mercurial core already uses the following terms:
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
194
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
195 :amend: to rewrite a changeset
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
196 :graft: to copy a changeset
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
197 :rebase: to move a changeset
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
198
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
199
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
200 Uncommit
1287
6f2c1574eda8 docs: fix slightly unconventional .rst markup
Greg Ward <greg@gerg.ca>
parents: 593
diff changeset
201 ````````
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
202
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
203 Remove files from a commit (and leave them as dirty in the working directory)
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
204
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
205 The *evolve* extension have an `uncommit` command that aims to replace most
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
206 `rollback` usage.
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
207
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
208 Fold
1287
6f2c1574eda8 docs: fix slightly unconventional .rst markup
Greg Ward <greg@gerg.ca>
parents: 593
diff changeset
209 ````
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
210
369
f348088d3b3f marmoute N+2 pass
Pierre-Yves.David@ens-lyon.org
parents: 368
diff changeset
211 Collapse multiple changesets into a unique one.
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
212
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
213 The *evolve* extension will have a `fold` command.
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
214
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
215 Prune
1287
6f2c1574eda8 docs: fix slightly unconventional .rst markup
Greg Ward <greg@gerg.ca>
parents: 593
diff changeset
216 `````
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
217
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
218 Make a changeset obsolete without successors.
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
219
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
220 This an important operation as it should mostly replace *strip*.
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
221
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
222 Alternative names:
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
223
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
224 - kill: shall has funny effects when you forget "hg" in front of ``hg kill``.
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
225 - obsolete: too vague, too long and too generic.
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
226
492
7ecd41520dae rename `stabilize` to `evolve`
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 370
diff changeset
227 evolve
1287
6f2c1574eda8 docs: fix slightly unconventional .rst markup
Greg Ward <greg@gerg.ca>
parents: 593
diff changeset
228 ``````
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
229
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
230 Automatically resolve *troublesome* changesets
4621
8784dfc6537c docs: change `bumped` references to `phase-divergent`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4620
diff changeset
231 (*orphan*, *phase-divergent* and *content-divergent*)
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
232
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
233 This is an important name as hg pull/push will suggest it the same way it
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
234 suggest merging when you add heads.
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
235
2862
07ce6c063c61 doc: typo fixes
Philippe Pepiot <phil@philpep.org>
parents: 1660
diff changeset
236 Alternative names:
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
237
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
238 - solve (too generic ?)
492
7ecd41520dae rename `stabilize` to `evolve`
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 370
diff changeset
239 - stabilize