author | Pierre-Yves David <pierre-yves.david@logilab.fr> |
Mon, 27 Aug 2012 14:57:20 +0200 | |
branch | stable |
changeset 523 | c9983eb6969c |
parent 487 | 595ae87e94b6 |
child 540 | 8c5da9e75ae0 |
permissions | -rw-r--r-- |
33 | 1 |
============================= |
2 |
Mutable History For Mercurial |
|
3 |
============================= |
|
4 |
||
5 |
||
523
c9983eb6969c
doc: long desc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
487
diff
changeset
|
6 |
Extends Mercurial feature related to Changeset Evolution |
c9983eb6969c
doc: long desc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
487
diff
changeset
|
7 |
|
c9983eb6969c
doc: long desc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
487
diff
changeset
|
8 |
This extension Provide several command to mutate history and deal with issue it may raise. |
33 | 9 |
|
523
c9983eb6969c
doc: long desc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
487
diff
changeset
|
10 |
It also: |
293
232990fbecb5
[doc] update readme
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
267
diff
changeset
|
11 |
|
523
c9983eb6969c
doc: long desc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
487
diff
changeset
|
12 |
- enable the "Changeset Obsolescence" feature of mercurial, |
c9983eb6969c
doc: long desc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
487
diff
changeset
|
13 |
- alter core command and extension that rewrite history to use this feature, |
c9983eb6969c
doc: long desc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
487
diff
changeset
|
14 |
- improve some aspect of the early implementation in 2.3 |
33 | 15 |
|
16 |
**These extensions are experimental and are not meant for production.** |
|
17 |
||
523
c9983eb6969c
doc: long desc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
487
diff
changeset
|
18 |
You can quicky enable it by adding the line bellow to the extensions section of you hgrc:: |
324
ff070b9e22ef
readme: explain "instalation process"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
293
diff
changeset
|
19 |
|
523
c9983eb6969c
doc: long desc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
487
diff
changeset
|
20 |
evolve=PATH/TO/evolve.py |
324
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 | 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 |
|
478
13ccb68b728d
update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
425
diff
changeset
|
46 |
1.0 |
13ccb68b728d
update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
425
diff
changeset
|
47 |
|
13ccb68b728d
update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
425
diff
changeset
|
48 |
- Align with Mercurial version 2.3 (drop 2.2 support). |
13ccb68b728d
update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
425
diff
changeset
|
49 |
- stabilize handle killed parent |
13ccb68b728d
update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
425
diff
changeset
|
50 |
- stabilize handle late comer |
487
595ae87e94b6
update changelog
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
483
diff
changeset
|
51 |
- stabilize handle conflicting |
478
13ccb68b728d
update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
425
diff
changeset
|
52 |
- stabilize get a --continue switch |
13ccb68b728d
update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
425
diff
changeset
|
53 |
- merge and update ignore extinct changeset in most case. |
13ccb68b728d
update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
425
diff
changeset
|
54 |
- new "troubled()" revset |
479
b63da0fb8ee5
obsolete: add obsolete data to summary.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
478
diff
changeset
|
55 |
- summary now reports troubles changesets |
482
d2531a747ff5
evolve: fold command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
479
diff
changeset
|
56 |
- new touch command |
d2531a747ff5
evolve: fold command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
479
diff
changeset
|
57 |
- new fold command |
483
b12ff7ef35b1
Introduction of olog as an alias
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
482
diff
changeset
|
58 |
- new basic olog alias |
478
13ccb68b728d
update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
425
diff
changeset
|
59 |
|
13ccb68b728d
update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
425
diff
changeset
|
60 |
- rebase refuse to work on public changeset again |
13ccb68b728d
update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
425
diff
changeset
|
61 |
- rebase explicitly state that there is nothing to rebase because everything is |
13ccb68b728d
update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
425
diff
changeset
|
62 |
extinct() when that happen. |
13ccb68b728d
update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
425
diff
changeset
|
63 |
- amend now cleanly abort when --change switch is misused |
13ccb68b728d
update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
425
diff
changeset
|
64 |
|
13ccb68b728d
update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
425
diff
changeset
|
65 |
|
425
1b2757c1bd91
changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
330
diff
changeset
|
66 |
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
|
67 |
|
1b2757c1bd91
changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
330
diff
changeset
|
68 |
- 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
|
69 |
- 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
|
70 |
- 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
|
71 |
- 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
|
72 |
- 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
|
73 |
- 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
|
74 |
- 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
|
75 |
- 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
|
76 |
|
1b2757c1bd91
changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
330
diff
changeset
|
77 |
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
|
78 |
|
1b2757c1bd91
changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
330
diff
changeset
|
79 |
- 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
|
80 |
- qsync: ignore unexistent nodes |
1b2757c1bd91
changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
330
diff
changeset
|
81 |
- 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
|
82 |
|
1b2757c1bd91
changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
330
diff
changeset
|
83 |
0.5 -- 2012-07-16 |
325
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
324
diff
changeset
|
84 |
|
425
1b2757c1bd91
changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
330
diff
changeset
|
85 |
- obsolete: Detect conflicting changeset! |
1b2757c1bd91
changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
330
diff
changeset
|
86 |
- 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
|
87 |
- 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
|
88 |
- 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
|
89 |
- 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
|
90 |
|
1b2757c1bd91
changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
330
diff
changeset
|
91 |
|
1b2757c1bd91
changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
330
diff
changeset
|
92 |
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
|
93 |
|
1b2757c1bd91
changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
330
diff
changeset
|
94 |
- [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
|
95 |
- 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
|
96 |
|
1b2757c1bd91
changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
330
diff
changeset
|
97 |
|
1b2757c1bd91
changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
330
diff
changeset
|
98 |
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
|
99 |
|
1b2757c1bd91
changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
330
diff
changeset
|
100 |
- 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
|
101 |
- 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
|
102 |
- adapt for new mercurial |
1b2757c1bd91
changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
330
diff
changeset
|
103 |
- 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
|
104 |
|
1b2757c1bd91
changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
330
diff
changeset
|
105 |
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
|
106 |
|
1b2757c1bd91
changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
330
diff
changeset
|
107 |
- |
1b2757c1bd91
changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
330
diff
changeset
|
108 |
- 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
|
109 |
- 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
|
110 |
- rebase: allow the use of --keep again |
c046b083a5e0
README: minor changelog update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
325
diff
changeset
|
111 |
- 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
|
112 |
- 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
|
113 |
- revset: add, successors(), allsuccessors(), precursors(), allprecursors(), |
c2223b3f611a
more README changes (oops)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
328
diff
changeset
|
114 |
latecomer() and hidden() |
328
c046b083a5e0
README: minor changelog update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
325
diff
changeset
|
115 |
- evolve: add `prune` alias to `kill`. |
c046b083a5e0
README: minor changelog update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
325
diff
changeset
|
116 |
- 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
|
117 |
- template: add an {obsolete} keyword |
325
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
324
diff
changeset
|
118 |
|
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
324
diff
changeset
|
119 |
0.2.0 -- 2012-06-20 |
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
324
diff
changeset
|
120 |
|
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
324
diff
changeset
|
121 |
- 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
|
122 |
- 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
|
123 |
- rebase: handle removing empty changesets |
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
324
diff
changeset
|
124 |
- rebase: handle --collapse |
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
324
diff
changeset
|
125 |
- evolve: add `obsolete` alias to `kill` |
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
324
diff
changeset
|
126 |
- evolve: add `evolve` alias to `stabilize` |
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
324
diff
changeset
|
127 |
|
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
324
diff
changeset
|
128 |