docs/obs-terms.rst
author Pulkit Goyal <7895pulkit@gmail.com>
Sat, 09 Dec 2017 06:13:28 +0100
changeset 3235 8a772f0c54d9
parent 2862 07ce6c063c61
child 4615 8406d9b06130
permissions -rw-r--r--
topics: add a config to reject draft changeset without topic on a server This patch adds a new config option experimental.topic-mode.server which if sets to True, the server won't accept any draft changeset without topic on it. In case both `experimental.topic-mode.server` and `experimental.topic.publish-bare-branch` are set to True, the enforce-topic one is respected. Tests are added for it. The CHANGELOG file is also updated mentioning about the config option.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    15
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
    16
**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
    17
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    18
- no *successor*: the *precursor* is just discarded.
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    19
- one *successor*: the *precursor* has been rewritten
369
f348088d3b3f marmoute N+2 pass
Pierre-Yves.David@ens-lyon.org
parents: 368
diff changeset
    20
- 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
    21
  changesets.
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    22
1650
49d4f4bfd2ab Spelling: directly
timeless@gmail.com
parents: 1287
diff changeset
    23
.. The *precursors* 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
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    25
.. :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
    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
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    29
..              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
    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*.
369
f348088d3b3f marmoute N+2 pass
Pierre-Yves.David@ens-lyon.org
parents: 368
diff changeset
    33
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
    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
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    39
: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
    40
                 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
    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.
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    46
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
    47
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
    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   |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    69
| 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
    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:         |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
    72
|                     | 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
    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    |
f348088d3b3f marmoute N+2 pass
Pierre-Yves.David@ens-lyon.org
parents: 368
diff changeset
    75
|                     | as precursors.           |   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
|                     |                          |                             |
493
9a4867b79f6c doc: some terms update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 492
diff changeset
    95
|                     | **troubled**             | **unstable**                |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    96
|                     |                          |                             |
493
9a4867b79f6c doc: some terms update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 492
diff changeset
    97
|                     | *troubled*    has        | *unstable* 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     |
493
9a4867b79f6c doc: some terms update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 492
diff changeset
   102
|                     | listed in the next       | non *troubled*    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.          |
493
9a4867b79f6c doc: some terms update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 492
diff changeset
   104
|                     | for *troubled*           |                             |
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)                 |
575
36de5e30d3eb doc: rename conflicting to divergent.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 527
diff changeset
   107
|                     | (a.k.a. divergent   and  |                             |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   108
|                     | unstable)                +-----------------------------+
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   109
|                     |                          |                             |
593
26f76b38f879 evolve: Rename latecomer into bumped
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 575
diff changeset
   110
|                     | (possible alternative    | **bumped**                  |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   111
|                     | names: unsettled,        |                             |
593
26f76b38f879 evolve: Rename latecomer into bumped
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 575
diff changeset
   112
|                     | troublesome              | *bumped* is a changeset     |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   113
|                     |                          | that tries to be successor  |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   114
|                     |                          | of  public changesets.      |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   115
|                     |                          |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   116
|                     |                          | Public changeset can't      |
370
7ef8ab8c6fea some more fix
Pierre-Yves.David@ens-lyon.org
parents: 369
diff changeset
   117
|                     |                          | be deleted and replace      |
593
26f76b38f879 evolve: Rename latecomer into bumped
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 575
diff changeset
   118
|                     |                          | *bumped*                    |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   119
|                     |                          | need to be converted into   |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   120
|                     |                          | an overlay to this public   |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   121
|                     |                          | changeset.                  |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   122
|                     |                          |                             |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   123
|                     |                          | (possible alternative names:|
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   124
|                     |                          | mislead, naive, unaware,    |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   125
|                     |                          | mindless, disenchanting)    |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   126
|                     |                          |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   127
|                     |                          +-----------------------------+
575
36de5e30d3eb doc: rename conflicting to divergent.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 527
diff changeset
   128
|                     |                          | **divergent**               |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   129
|                     |                          |                             |
575
36de5e30d3eb doc: rename conflicting to divergent.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 527
diff changeset
   130
|                     |                          | *divergent*   is changeset  |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   131
|                     |                          | 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
   132
|                     |                          | changesets are successors   |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   133
|                     |                          | 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
   134
|                     |                          |                             |
575
36de5e30d3eb doc: rename conflicting to divergent.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 527
diff changeset
   135
|                     |                          | *divergent*   are solved    |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   136
|                     |                          | through a three ways merge  |
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   137
|                     |                          | between the two             |
575
36de5e30d3eb doc: rename conflicting to divergent.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 527
diff changeset
   138
|                     |                          | *divergent*   ,             |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   139
|                     |                          | using the last "obsolete-   |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   140
|                     |                          | -common-ancestor" as the    |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   141
|                     |                          | base.                       |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   142
|                     |                          |                             |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   143
|                     |                          | (*splitting* is             |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   144
|                     |                          | 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
   145
|                     |                          | conflict)                   |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   146
|                     |                          |                             |
493
9a4867b79f6c doc: some terms update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 492
diff changeset
   147
|                     |                          | (possible alternative names:|
2862
07ce6c063c61 doc: typo fixes
Philippe Pepiot <phil@philpep.org>
parents: 1660
diff changeset
   148
|                     |                          | clashing, rival, concurrent,|
575
36de5e30d3eb doc: rename conflicting to divergent.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 527
diff changeset
   149
|                     |                          | conflicting)                |
493
9a4867b79f6c doc: some terms update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 492
diff changeset
   150
|                     |                          |                             |
363
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
|                     |                                                        |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   153
|                     | Mutable changesets which are neither *obsolete* or     |
493
9a4867b79f6c doc: some terms update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 492
diff changeset
   154
|                     | *troubled*    are *"ok"*.                              |
363
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
|                     | 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
   157
|                     | 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
   158
|                     |                                                        |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   159
|                     | - 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
   160
|                     | - sane                                                 |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   161
|                     | - healthy                                              |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   162
|                     |                                                        |
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
|                                                                              |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   165
|     **immutable**                                                            |
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
| 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
   168
|                                                                              |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   169
| 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
   170
|                                                                              |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   171
| Obsolete markers that refer an immutable changeset as precursors have        |
1656
d8d657ef4a38 Spelling: precursors
timeless@gmail.com
parents: 1651
diff changeset
   172
| no effect on the precursors 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
   173
|                                                                              |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   174
| 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
   175
| 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
   176
| state.                                                                       |
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   177
|                                                                              |
368
c2f3cdd5a2a2 [docs] obsolete: fix some typos
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 363
diff changeset
   178
| 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
   179
|                                                                              |
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
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
1287
6f2c1574eda8 docs: fix slightly unconventional .rst markup
Greg Ward <greg@gerg.ca>
parents: 593
diff changeset
   185
--------------------------
363
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
1287
6f2c1574eda8 docs: fix slightly unconventional .rst markup
Greg Ward <greg@gerg.ca>
parents: 593
diff changeset
   199
````````
363
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
1287
6f2c1574eda8 docs: fix slightly unconventional .rst markup
Greg Ward <greg@gerg.ca>
parents: 593
diff changeset
   207
````
363
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
1287
6f2c1574eda8 docs: fix slightly unconventional .rst markup
Greg Ward <greg@gerg.ca>
parents: 593
diff changeset
   214
`````
363
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
492
7ecd41520dae rename `stabilize` to `evolve`
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 370
diff changeset
   225
evolve
1287
6f2c1574eda8 docs: fix slightly unconventional .rst markup
Greg Ward <greg@gerg.ca>
parents: 593
diff changeset
   226
``````
363
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
593
26f76b38f879 evolve: Rename latecomer into bumped
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 575
diff changeset
   229
(*unstable*, *bumped* and *divergent*)
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
2862
07ce6c063c61 doc: typo fixes
Philippe Pepiot <phil@philpep.org>
parents: 1660
diff changeset
   234
Alternative names:
363
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   235
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   236
- solve (too generic ?)
492
7ecd41520dae rename `stabilize` to `evolve`
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 370
diff changeset
   237
- stabilize