Mercurial > evolve
annotate docs/obs-terms.rst @ 4728:ef8907df73fc stable
touch: fix the inconsistent behavior of divergence catching logic (issue6107)
When touching a node, the way we check if it can lead to divergence
is we look at the successors sets of the rev being touched. And if
there is successor revs exists (excluding the case when that successor
set is (A,) for rev A) that means there will be divergence and we warn
the user.
This works fine but there is still a case (which is not covered by looking
at successor sets) which can lead to divergence.
That case is: when there is already a revision exists which is divergent
to the revision being touched. And performing the touch would revive
that "dead" divergence. (Dead because one of the revision is obsolete which
is the one we are touching)
And to see if there is any rev which is divergent to a particular rev
we already have a function which we can use here
i.e. `evolvecmd.divergentsets(repo, ctx_being_touched)`
Changes in test file demonstrate the fixed behaviour.
author | Sushil khanchi <sushilkhanchi97@gmail.com> |
---|---|
date | Wed, 17 Jul 2019 17:58:44 +0200 |
parents | 8784dfc6537c |
children |
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 | 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 | 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 | 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 | 50 Changeset in *any successors* which are not **obsolete** are called |
369 | 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 | 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 | 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 | 87 | | | Those descendants prevent | |
1651 | 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 | 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 | 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 | 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 | 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 | 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 |