docs/obs-terms.rst
author Pierre-Yves.David@ens-lyon.org
Mon, 16 Jul 2012 16:57:17 +0200
branchstable
changeset 370 7ef8ab8c6fea
parent 369 f348088d3b3f
child 492 7ecd41520dae
permissions -rw-r--r--
some more fix
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
     1
-----------------------------------------------------------
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
     2
Terminology of the obsolete concept
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
     3
-----------------------------------------------------------
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
     4
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
     5
Obsolete markers
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
     6
---------------------------------
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
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
     9
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
    10
version.
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    11
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    12
Old changesets are called **precursors** while their new versions are called
369
f348088d3b3f marmoute N+2 pass
Pierre-Yves.David@ens-lyon.org
parents: 368
diff changeset
    13
**successors**. A marker always registers a single *precursor* and:
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    14
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    15
- no *successor*: the *precursor* is just discarded.
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    16
- one *successor*: the *precursor* has been rewritten
369
f348088d3b3f marmoute N+2 pass
Pierre-Yves.David@ens-lyon.org
parents: 368
diff changeset
    17
- multiple *successors*: the *precursor* were splits in multiple
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    18
  changesets.
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    19
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    20
.. The *precursors* and *successors* terms can be used on changeset directy:
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    21
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    22
.. :precursors: of a changeset `A` are changesets used as *precursors* by
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    23
..              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
    24
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    25
.. :successors: of a changeset `B` are changesets used as *successors* by
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    26
..              obsolete marker using changeset `B` as *precursors*
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    27
369
f348088d3b3f marmoute N+2 pass
Pierre-Yves.David@ens-lyon.org
parents: 368
diff changeset
    28
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
    29
*successor*. This is a kind of *second order version control*.
369
f348088d3b3f marmoute N+2 pass
Pierre-Yves.David@ens-lyon.org
parents: 368
diff changeset
    30
To clarify ambiguous situations one can use **direct precursors** or
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    31
**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
    32
369
f348088d3b3f marmoute N+2 pass
Pierre-Yves.David@ens-lyon.org
parents: 368
diff changeset
    33
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
    34
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
    35
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    36
:any precursors: are transitive precursors of a changeset: *direct precursors*
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    37
                 and *precursors* of *precursors*.
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    38
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    39
: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
    40
                 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
    41
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    42
Obsolete markers may refer changesets that are not known locally.
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    43
So, *direct precursors* of a changeset may be unknown locally.
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    44
This is why we usually focus on the **first known precursors**  of the rewritten
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    45
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
    46
370
7ef8ab8c6fea some more fix
Pierre-Yves.David@ens-lyon.org
parents: 369
diff changeset
    47
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
    48
**newest successors**..
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    49
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    50
.. note:: I'm not very happy with this naming scheme and I'm looking for a
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    51
          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
    52
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    53
Possible changesets "type"
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    54
---------------------------------
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    55
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    56
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
    57
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
    58
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
    59
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    60
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    61
+---------------------+--------------------------+-----------------------------+
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    62
| **mutable**         | **obsolete**             | **extinct**                 |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    63
|                     |                          |                             |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    64
| 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
    65
| *draft* or *secret* | *mutable* used as a      | *obsolete* which has only   |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    66
| phase.              | *precursor*.             | *obsolete* descendants.     |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    67
|                     |                          |                             |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    68
|                     | A changeset is used as   | They can safely be:         |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    69
|                     | a *precursor* when at    |                             |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    70
|                     | least one obsolete       | - hidden in the UI,         |
369
f348088d3b3f marmoute N+2 pass
Pierre-Yves.David@ens-lyon.org
parents: 368
diff changeset
    71
|                     | marker refers to it      | - silently excluded from    |
f348088d3b3f marmoute N+2 pass
Pierre-Yves.David@ens-lyon.org
parents: 368
diff changeset
    72
|                     | as precursors.           |   pull and push operations  |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    73
|                     |                          | - mostly ignored            |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    74
|                     |                          | - garbage collected         |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    75
|                     |                          |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    76
|                     |                          +-----------------------------+
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    77
|                     |                          |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    78
|                     |                          | **suspended**               |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    79
|                     |                          |                             |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    80
|                     |                          | *suspended* changeset is    |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    81
|                     |                          | *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
    82
|                     |                          | one non-obsolete descendant |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    83
|                     |                          |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    84
|                     |                          | Thoses descendants prevent  |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    85
|                     |                          | properties of extincts      |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    86
|                     |                          | changesets to apply. But    |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    87
|                     |                          | 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
    88
|                     |                          | pushed without --force.     |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    89
|                     |                          |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    90
|                     +--------------------------+-----------------------------+
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    91
|                     |                          |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    92
|                     | **troublesome**          | **unstable**                |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    93
|                     |                          |                             |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    94
|                     | *troublesome* has        | *unstable* is a changeset   |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    95
|                     | unresolved issue caused  | with obsolete ancestors.    |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    96
|                     | by *obsolete* relations. |                             |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    97
|                     |                          |                             |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    98
|                     | Possible issues are      | It must be rebased on a     |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    99
|                     | listed in the next       | non *troublesome* base to   |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   100
|                     | column. It is possible   | solve the problem.          |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   101
|                     | for *troublesome*        |                             |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   102
|                     | 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
   103
|                     | multiple issue at once.  | precarious)                 |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   104
|                     | (a.k.a. conflicting and  |                             |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   105
|                     | unstable)                +-----------------------------+
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   106
|                     |                          |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   107
|                     | (possible alternative    | **latecomer**               |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   108
|                     | names: unsettled,        |                             |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   109
|                     | troubled)                | *latecomer* is a changeset  |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   110
|                     |                          | that tries to be successor  |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   111
|                     |                          | of  public changesets.      |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   112
|                     |                          |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   113
|                     |                          | Public changeset can't      |
370
7ef8ab8c6fea some more fix
Pierre-Yves.David@ens-lyon.org
parents: 369
diff changeset
   114
|                     |                          | be deleted and replace      |
369
f348088d3b3f marmoute N+2 pass
Pierre-Yves.David@ens-lyon.org
parents: 368
diff changeset
   115
|                     |                          | *latecomer*                 |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   116
|                     |                          | need to be converted into   |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   117
|                     |                          | an overlay to this public   |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   118
|                     |                          | changeset.                  |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   119
|                     |                          |                             |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   120
|                     |                          | (possible alternative names:|
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   121
|                     |                          | mislead, naive, unaware,    |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   122
|                     |                          | mindless, disenchanting)    |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   123
|                     |                          |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   124
|                     |                          +-----------------------------+
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   125
|                     |                          | **conflicting**             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   126
|                     |                          |                             |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   127
|                     |                          | *conflicting* is changeset  |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   128
|                     |                          | that appears when multiple  |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   129
|                     |                          | changesets are successors   |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   130
|                     |                          | of the same precursor.      |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   131
|                     |                          |                             |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   132
|                     |                          | *conflicting* are solved    |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   133
|                     |                          | through a three ways merge  |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   134
|                     |                          | between the two             |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   135
|                     |                          | *conflictings*,             |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   136
|                     |                          | using the last "obsolete-   |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   137
|                     |                          | -common-ancestor" as the    |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   138
|                     |                          | base.                       |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   139
|                     |                          |                             |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   140
|                     |                          | (*splitting* is             |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   141
|                     |                          | 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
   142
|                     |                          | conflict)                   |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   143
|                     |                          |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   144
|                     +--------------------------+-----------------------------+
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   145
|                     |                                                        |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   146
|                     | Mutable changesets which are neither *obsolete* or     |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   147
|                     | *troublesome* are *"ok"*.                              |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   148
|                     |                                                        |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   149
|                     | 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
   150
|                     | 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
   151
|                     |                                                        |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   152
|                     | - 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
   153
|                     | - sane                                                 |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   154
|                     | - healthy                                              |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   155
|                     |                                                        |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   156
+---------------------+--------------------------------------------------------+
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
|     **immutable**                                                            |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   159
|                                                                              |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   160
| 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
   161
|                                                                              |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   162
| 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
   163
|                                                                              |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   164
| Obsolete markers that refer an immutable changeset as precursors have        |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   165
| no effect on the precussors 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
   166
|                                                                              |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   167
| 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
   168
| 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
   169
| state.                                                                       |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   170
|                                                                              |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   171
| 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
   172
|                                                                              |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   173
+------------------------------------------------------------------------------+
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   174
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   175
.. note:: I'm not very happy with the naming of:
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   176
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   177
          - "ok" changeset
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   178
          - latecomer
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   179
          - troublesome
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   180
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   181
          Any better idea are welcome.
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
Command and operation name
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
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   187
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   188
Existing terms
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
369
f348088d3b3f marmoute N+2 pass
Pierre-Yves.David@ens-lyon.org
parents: 368
diff changeset
   191
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
   192
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   193
:amend: to rewrite a changeset
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   194
:graft: to copy a changeset
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   195
: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
   196
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   197
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   198
Uncommit
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
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   201
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
   202
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   203
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
   204
`rollback` usage.
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   205
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   206
Fold
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
369
f348088d3b3f marmoute N+2 pass
Pierre-Yves.David@ens-lyon.org
parents: 368
diff changeset
   209
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
   210
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   211
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
   212
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   213
Prune
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
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   216
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
   217
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   218
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
   219
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   220
Alternative names:
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
- 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
   223
- 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
   224
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   225
Stabilize
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   226
```````````````
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   227
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   228
Automatically resolve *troublesome* changesets
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   229
(*unstable*, *latecomer* and *conflicting*)
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   230
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   231
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
   232
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
   233
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   234
I do not like stabilize much.
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   235
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
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 ?)
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   239
- evolve (too vague)