docs/obs-terms.rst
author Pierre-Yves.David@ens-lyon.org
Sun, 15 Jul 2012 12:49:25 +0200
branchstable
changeset 363 5280e7ce026d
child 368 c2f3cdd5a2a2
permissions -rw-r--r--
doc: big update of terms and summary of the concept This is intended to be sent to the mailing list for discussion.
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
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
     5
Obsolete marker them self
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
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
     8
The mutable concept is based on the creation of **obsolete marker**. An obsolete
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
     9
marker register a relation between the old obsoleted changeset and its newer
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
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    12
The old changesets is called **precursors**. Its newer version are called
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    13
*successors*. A marker always register a single *precursors* but can refer
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    14
to:
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    15
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    16
- No *successors* at all if the *precursors* if just discarded.
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    17
- One *successor* at all if the *precursors* have been rewritten
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    18
- Multiple *successors* if the *precursors* have been splitted in myltiple
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    19
  changeset.
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    20
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    21
The **precursors** and **successors** terms can be used on changeset directy:
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    22
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    23
:precursors: of a changeset `A` are changesets used as *precursors* by
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    24
             obsolete marker using changeset `A` as *successors*
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    25
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    26
:successors: of a changeset `B` are changesets used as *successors* by
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    27
             obsolete marker using changeset `B` as *precursors*
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    28
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    29
*Precursors* and *successors* directly related within the same marker are called
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    30
**direct precursors** and **direct successors** in ambiguous situation.
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    31
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    32
The set of all *obsolete markers* create a direct acyclic graph the same way
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    33
standard *parent* and *children* relation do. In this graph we have:
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    34
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    35
:any precursors: of a `A` are transitive precursors of `A`. (*direct
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    36
                 precursors* of `A` and *precursors*  of *precursors*)
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    37
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    38
:any successors: of a `A` are transitive successors of `A`. (*direct
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    39
                 successors* of `A` and *precursors*  of *precursors*)
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    40
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    41
Obsolete markers may revert to changesets that are not known locally. *Direct
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    42
precursors* of a changeset may be unknown locally. This is why we usually focus
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    43
on the **first known precursors**  of changeset
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    44
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    45
(The same apply for successors)
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    46
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    47
Item in *Any successors* which are not *obsolete* are called **newest
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    48
successors** 
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
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    51
          better distinction between direct-successors, any-successors.
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
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    56
The following table describe name and behavior of changesets affected by
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    57
obsolete marker. Left column describe generic category and right column are
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    58
about sub-category.
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
|                     |                          |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    64
| Changeset in either | Obsolete changesets are  | Extinct changesets are      |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    65
| *draft* or *secret* | mutable changeset used   | obsolete one with obsolete  |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    66
| phases.             | as a precursors.         | only descendants.           |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    67
|                     |                          |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    68
|                     | A changeset is used as   | They can be safely:         |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    69
|                     | a precursors when at     |                             |
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,         |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    71
|                     | refer to it in the       | - silently excluded from pp |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    72
|                     | precursors field.        |   pull and push,t operation |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    73
|                     |                          | - ignored by most operation |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    74
|                     |                          | - garbage collected.        |
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
|                     |                          |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    80
|                     |                          | Suspended changesets are    |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    81
|                     |                          | obsolete one with at least  |
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
|                     |                          |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    94
|                     | Troublesome commit have  | Unstable changesets are     |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    95
|                     | unresolved issue caused  | changesets with obsolete    |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    96
|                     | by obsolete relations.   | ancestors.                  |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    97
|                     |                          |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    98
|                     | Possible issues are      | They must be rebased on a   |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    99
|                     | listed in the next       | better base to solve the    |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   100
|                     | column. It is possible   | situation.                  |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   101
|                     | for troublesome          |                             |
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)                 |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   104
|                     | (eg: conflicting and     |                             |
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**               |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   108
|                     | name: unsettled,         |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   109
|                     | troubled)                | Latecomer changesets are    |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   110
|                     |                          | changesets that try to      |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   111
|                     |                          | be successors of public     |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   112
|                     |                          | changesets.                 |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   113
|                     |                          |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   114
|                     |                          | Public changeset can't      |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   115
|                     |                          | be obsolete. Latecomer      |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   116
|                     |                          | changeset need to be        |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   117
|                     |                          | rewritten as an overlay     |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   118
|                     |                          | to this public changeset.   |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   119
|                     |                          |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   120
|                     |                          | (possible alternative names |
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
|                     |                          |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   127
|                     |                          | Conflicting changesets      |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   128
|                     |                          | happen when multiple        |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   129
|                     |                          | changesets are successors   |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   130
|                     |                          | of the same obsolete        |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   131
|                     |                          | changeset.                  |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   132
|                     |                          |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   133
|                     |                          | Conflicting changesets are  |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   134
|                     |                          | resolve through a three     |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   135
|                     |                          | ways merging between the    |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   136
|                     |                          | two conflicting changesets, |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   137
|                     |                          | using the last "obsolete-   |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   138
|                     |                          | -common-ancestor" as the    |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   139
|                     |                          | base.                       |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   140
|                     |                          |                             |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   141
|                     |                          | (Changeset splitting is     |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   142
|                     |                          | 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
   143
|                     |                          | conflict)                   |
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
|                     |                                                        |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   147
|                     | 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
   148
|                     | *troublesome* are *"ok"*.                              |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   149
|                     |                                                        |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   150
|                     | 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
   151
|                     | 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
   152
|                     |                                                        |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   153
|                     | - 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
   154
|                     | - sane                                                 |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   155
|                     | - healthy                                              |
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
|                                                                              |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   159
|     **immutable**                                                            |
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
| 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
   162
|                                                                              |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   163
| 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
   164
|                                                                              |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   165
| Obsolete markers that refer an immutable changeset as precursors have        |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   166
| no effect on the precussors changeset (but may have effect on the            |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   167
| successors)                                                                  |
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
| When a mutable changeset becomes immutable its is just *immutable* and loose |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   170
| any property of it's former state.                                           |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   171
|                                                                              |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   172
| By phase property, once a changeset becomes a public immutable changeset,    |
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   173
| you can expect it to remain as such forever.                                 |
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
+------------------------------------------------------------------------------+
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
.. 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
   178
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   179
          - "ok" changeset
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   180
          - latecomer
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   181
          - troublesome
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
          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
   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
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
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
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   193
Mercurial already use the following terms:
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   194
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   195
:amend: rewrite a changeset
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   196
:graft: copy a changeset
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   197
:rebase: move a changeset
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
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   201
`````````````
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   202
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   203
remove files from a commit (and leave them as dirty in the working directory)
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   204
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   205
The evolve extension have an `uncommit` command that aims to replace most
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
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   209
``````````
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   210
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   211
Collapse multiple changeset into one
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
The evolve extensions *will* have a `fold` commands
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
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   216
``````````
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
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   220
This an important operation as it should replace strip in 95% of the case.
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   221
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   222
alternative name:
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   223
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   224
- kill: nice name for effect when you forget the "hg" in front on "hg kill".
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   225
- obsolete: too vague, long and generic.
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
Stabilize
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   228
```````````````
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   229
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   230
Automatically resolve troublesome changesets
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   231
(unstable, latecomer and conflicting)
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   232
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   233
This is an important name as hg pull/pussh will suggest it the same way it
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
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   236
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
   237
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   238
alternative name:
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   239
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   240
- solve (too generic ?)
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   241
- evolve (too vague)
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   242
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   243
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   244
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   245
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   246
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   247
.. 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
   248
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   249
          - "ok" changeset
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   250
          - latecomer
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   251
          - troublesome
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   252
5280e7ce026d doc: big update of terms and summary of the concept
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   253
          Any better idea are welcome.