README
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
Mon, 12 Sep 2011 23:47:06 +0200
changeset 63 f47a5f990eb2
parent 59 02fba620d139
child 70 af4f7ef0a3c1
permissions -rw-r--r--
[states] add rebase support.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     1
=============================
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     2
Mutable History For Mercurial
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     3
=============================
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     4
35
0f98f87881bd Spelling fixes
Julien Cristau <julien.cristau@logilab.fr>
parents: 34
diff changeset
     5
This repository holds three experimental extensions that introduce concepts
0f98f87881bd Spelling fixes
Julien Cristau <julien.cristau@logilab.fr>
parents: 34
diff changeset
     6
related to history rewriting in mercurial.
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     7
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     8
:states:
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     9
35
0f98f87881bd Spelling fixes
Julien Cristau <julien.cristau@logilab.fr>
parents: 34
diff changeset
    10
    Introduce a state concept. It allows to track which changesets have been
0f98f87881bd Spelling fixes
Julien Cristau <julien.cristau@logilab.fr>
parents: 34
diff changeset
    11
    made public and immutable and which you want to keep local.
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    12
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    13
:obsolete:
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    14
35
0f98f87881bd Spelling fixes
Julien Cristau <julien.cristau@logilab.fr>
parents: 34
diff changeset
    15
    Introduce an ``obsolete`` concept that tracks new versions of rewritten
0f98f87881bd Spelling fixes
Julien Cristau <julien.cristau@logilab.fr>
parents: 34
diff changeset
    16
    changesets.
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    17
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    18
:rewrite:
35
0f98f87881bd Spelling fixes
Julien Cristau <julien.cristau@logilab.fr>
parents: 34
diff changeset
    19
    A collection of commands to rewrite the mutable part of the history.
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    20
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    21
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    22
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    23
**These extensions are experimental and are not meant for production.**
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    24
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    25
59
02fba620d139 move part of the readme about states in states itself.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 48
diff changeset
    26
See each extension documentation for details
48
5fd7b64aa8c5 update README
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 36
diff changeset
    27
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    28
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    29
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    30
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    31
Obsolete Extension
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    32
======================
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    34
state: in progress
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    35
35
0f98f87881bd Spelling fixes
Julien Cristau <julien.cristau@logilab.fr>
parents: 34
diff changeset
    36
This extension introduces the *obsolete* concept. It adds a new *obsolete*
0f98f87881bd Spelling fixes
Julien Cristau <julien.cristau@logilab.fr>
parents: 34
diff changeset
    37
relation between two changesets. A relation ``<changeset B> obsolete <changeset
0f98f87881bd Spelling fixes
Julien Cristau <julien.cristau@logilab.fr>
parents: 34
diff changeset
    38
A>`` is set to denote that ``<changeset B>`` is new version of ``<changeset
0f98f87881bd Spelling fixes
Julien Cristau <julien.cristau@logilab.fr>
parents: 34
diff changeset
    39
A>``.
34
f28116682827 Add a few information about obsolete relation.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 33
diff changeset
    40
f28116682827 Add a few information about obsolete relation.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 33
diff changeset
    41
The *obsolete* relation act as a **perpendicular history** to the standard
35
0f98f87881bd Spelling fixes
Julien Cristau <julien.cristau@logilab.fr>
parents: 34
diff changeset
    42
changeset history. Standard changeset history versions files. The *obsolete*
0f98f87881bd Spelling fixes
Julien Cristau <julien.cristau@logilab.fr>
parents: 34
diff changeset
    43
relation versions changesets.
34
f28116682827 Add a few information about obsolete relation.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 33
diff changeset
    44
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    45
Usage and Feature
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    46
------------------
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    47
35
0f98f87881bd Spelling fixes
Julien Cristau <julien.cristau@logilab.fr>
parents: 34
diff changeset
    48
obsolete changesets are hidden.
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    49
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    50
Commands
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    51
........
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    52
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    53
35
0f98f87881bd Spelling fixes
Julien Cristau <julien.cristau@logilab.fr>
parents: 34
diff changeset
    54
a ``debugobsolete`` command has been added.
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    55
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    56
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    57
To Do
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    58
-----
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    59
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    60
* do not exchange them
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    61
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    62
* handle non-obsolete children
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    63
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    64
* exchange the obsolete information
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    65
35
0f98f87881bd Spelling fixes
Julien Cristau <julien.cristau@logilab.fr>
parents: 34
diff changeset
    66
* refuse to obsolete published changesets
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    67
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    68
* handle split
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    69
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    70
* handle conflict
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    71
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    72
* handle out of sync
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    73
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    74
rewrite Extension
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    75
======================
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    76
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    77
state: To be written
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    78