README
author Pierre-Yves David <pierre-yves.david@logilab.fr>
Tue, 07 Aug 2012 14:08:31 +0200
changeset 429 079b231b8ea4
parent 425 1b2757c1bd91
child 478 13ccb68b728d
permissions -rw-r--r--
obsolete: introduce an extension helper and use it this extension helper allow most of setup operation to be declared in place using decorator. This allow clear separation between independant part of the code. This is the first HUGE wave of changes related to this introduction. The goal is to have a clear distinction and documention of every part of this extension.
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
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     5
:obsolete:
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     6
35
0f98f87881bd Spelling fixes
Julien Cristau <julien.cristau@logilab.fr>
parents: 34
diff changeset
     7
    Introduce an ``obsolete`` concept that tracks new versions of rewritten
0f98f87881bd Spelling fixes
Julien Cristau <julien.cristau@logilab.fr>
parents: 34
diff changeset
     8
    changesets.
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     9
237
215e78166ef9 update README
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 70
diff changeset
    10
:evolve:
293
232990fbecb5 [doc] update readme
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 267
diff changeset
    11
35
0f98f87881bd Spelling fixes
Julien Cristau <julien.cristau@logilab.fr>
parents: 34
diff changeset
    12
    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
    13
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    14
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    15
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    16
**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
    17
324
ff070b9e22ef readme: explain "instalation process"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 293
diff changeset
    18
You can quicky enable them using::
ff070b9e22ef readme: explain "instalation process"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 293
diff changeset
    19
ff070b9e22ef readme: explain "instalation process"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 293
diff changeset
    20
    ./enable.sh >> ~/.hgrc
ff070b9e22ef readme: explain "instalation process"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 293
diff changeset
    21
ff070b9e22ef readme: explain "instalation process"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 293
diff changeset
    22
But it's recommended to look at the doc in the first place.
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    23
293
232990fbecb5 [doc] update readme
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 267
diff changeset
    24
See doc/ directory for details.
232990fbecb5 [doc] update readme
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 267
diff changeset
    25
232990fbecb5 [doc] update readme
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 267
diff changeset
    26
Online version of the doc is available:
232990fbecb5 [doc] update readme
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 267
diff changeset
    27
232990fbecb5 [doc] update readme
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 267
diff changeset
    28
    http://hg-lab.logilab.org/doc/mutable-history/html/
238
b5d9841defc8 more read me update
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 237
diff changeset
    29
b5d9841defc8 more read me update
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 237
diff changeset
    30
Contribute
b5d9841defc8 more read me update
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 237
diff changeset
    31
==================
b5d9841defc8 more read me update
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 237
diff changeset
    32
267
34020ca0c451 README: some more changes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 261
diff changeset
    33
The simplest way to contribute is to issue a pull request on bitbucket.
238
b5d9841defc8 more read me update
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 237
diff changeset
    34
267
34020ca0c451 README: some more changes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 261
diff changeset
    35
However, some cutting edge change may be found in a mutable repository hosted
34020ca0c451 README: some more changes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 261
diff changeset
    36
by logilab before they are published.
238
b5d9841defc8 more read me update
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 237
diff changeset
    37
b5d9841defc8 more read me update
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 237
diff changeset
    38
    http://hg-lab.logilab.org/wip/mutable-history/
b5d9841defc8 more read me update
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 237
diff changeset
    39
267
34020ca0c451 README: some more changes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 261
diff changeset
    40
Make sure to check lastest draft changeset before submitting new changeset.
261
240b37998806 added “pull here is OK, too” to the README.
Arne Babenhauserheide <bab@draketo.de>
parents: 239
diff changeset
    41
267
34020ca0c451 README: some more changes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 261
diff changeset
    42
325
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
    43
Changelog
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
    44
==================
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
    45
425
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    46
0.7 -- 2012-08-06
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    47
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    48
- hook: work around insanely huge value in obsolete pushkey call
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    49
- pushkey: properly handle abort during obsolete markers push
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    50
- amend: wrap the whole process in a single transaction.
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    51
- evolve: tweak and add EOL to kill warning
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    52
- obsolete: fix doc, rebase no longer aborts with --keep
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    53
- obsolete/evolve: fix grammar in prerequisite messages
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    54
- evolve: avoid duplication in graft wrapper
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    55
- evolve: graft --continue is optional, test
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    56
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    57
0.6 -- 2012-07-31
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    58
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    59
- obsolete: change warning output to match mercurial core on
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    60
- qsync: ignore unexistent nodes
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    61
- make compat server both compatible with "dump" and "dump%i" version
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    62
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    63
0.5 -- 2012-07-16
325
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
    64
425
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    65
- obsolete: Detect conflicting changeset!
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    66
- obsolete: adapt to core: marker are written in transaction now
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    67
- evolve: add the solve alias to obsolete
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    68
- doc: big update of terms and summary of the concept
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    69
- evolve: switch the official name for "kill" to prune
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    70
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    71
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    72
0.4.1 -- 2012-07-10
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    73
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    74
- [convert] properly exclude null successors from convertion
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    75
- Ignore buggy marker in newerversion
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    76
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    77
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    78
0.4.0 -- 2012-07-06
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    79
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    80
- obsolete: public changeset are no longer latecomer.
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    81
- obsolete: move to official binary format
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    82
- adapt for new mercurial
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    83
- obsolete: we are not compatible with 2.1 any more
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    84
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    85
0.3.0 -- 2012-06-27
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    86
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    87
- 
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    88
- obsolete:  Add "latecomer" error detection (stabilize does not handle resolution yet)
328
c046b083a5e0 README: minor changelog update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 325
diff changeset
    89
- evolve:    Introduce a new `uncommit` command to remove change from a changeset
c046b083a5e0 README: minor changelog update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 325
diff changeset
    90
- rebase:    allow the use of --keep again
c046b083a5e0 README: minor changelog update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 325
diff changeset
    91
- commit:    --amend option create obsolete marker (but still strip)
c046b083a5e0 README: minor changelog update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 325
diff changeset
    92
- obsolete:  fewer marker are created when collapsing revision.
330
c2223b3f611a more README changes (oops)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 328
diff changeset
    93
- revset:    add, successors(), allsuccessors(), precursors(), allprecursors(),
c2223b3f611a more README changes (oops)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 328
diff changeset
    94
             latecomer() and hidden()
328
c046b083a5e0 README: minor changelog update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 325
diff changeset
    95
- evolve:    add `prune` alias to `kill`.
c046b083a5e0 README: minor changelog update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 325
diff changeset
    96
- stabilize: clearly state that stabilize does nto handle conflict
330
c2223b3f611a more README changes (oops)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 328
diff changeset
    97
- template:  add an {obsolete} keyword
325
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
    98
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
    99
0.2.0 -- 2012-06-20
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
   100
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
   101
- stabilize: improve choice of the next changeset to stabilize
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
   102
- stabilize: improve resolution of several corner case
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
   103
- rebase:    handle removing empty changesets
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
   104
- rebase:    handle --collapse
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
   105
- evolve:   add `obsolete` alias to `kill`
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
   106
- evolve:   add `evolve` alias to `stabilize`
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
   107
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
   108