annotate tests/test-histedit-obsolete.t @ 39110:f0c2653ca706

merge: add tests for commit with no content change It isn't easy to say when to reuse the p1 manifest. Basically, that's only when wctx.files() is empty, but we need to know that wctx.files() is not the same as repo['.'].files() after the commit. This patch adds several examples of commits with empty ctx/wctx.files(). I don't think this is exhaustive, but it contains at least one failure mode in which a converted repo result in a different hash. I also note that the manifest revlog does NOT follow the DAG shape of the changelog since p1 manifest is reused if wctx.files() is empty even at merge. I don't know whether it is intentional or not, but it's the behavior since 2011, 301725c3df9a "localrepo: reuse parent manifest in commitctx if no files have changed."
author Yuya Nishihara <yuya@tcha.org>
date Sun, 12 Aug 2018 18:44:42 +0900
parents 128dd940bedc
children 43d3b09b3e5a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17759
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
1 $ . "$TESTDIR/histedit-helpers.sh"
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
2
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
3 Enable obsolete
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
4
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
5 $ cat >> $HGRCPATH << EOF
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
6 > [ui]
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
7 > logtemplate= {rev}:{node|short} {desc|firstline}
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
8 > [phases]
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
9 > publish=False
22955
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 22392
diff changeset
10 > [experimental]
34866
1644623ab096 config: use 'experimental.evolution.create-markers'
Boris Feld <boris.feld@octobus.net>
parents: 34489
diff changeset
11 > evolution.createmarkers=True
34867
7f183c643eb6 config: use 'experimental.evolution.allowunstable'
Boris Feld <boris.feld@octobus.net>
parents: 34866
diff changeset
12 > evolution.allowunstable=True
22392
2dd1cbee569d tests: remove unnecessary apostrophe
David Soria Parra <davidsp@fb.com>
parents: 22260
diff changeset
13 > [extensions]
17759
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
14 > histedit=
18438
81e77a8820f3 test-histedit: fix instability creation test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18437
diff changeset
15 > rebase=
17759
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
16 > EOF
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
17
28216
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
18 Test that histedit learns about obsolescence not stored in histedit state
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
19 $ hg init boo
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
20 $ cd boo
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
21 $ echo a > a
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
22 $ hg ci -Am a
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
23 adding a
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
24 $ echo a > b
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
25 $ echo a > c
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
26 $ echo a > c
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
27 $ hg ci -Am b
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
28 adding b
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
29 adding c
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
30 $ echo a > d
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
31 $ hg ci -Am c
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
32 adding d
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
33 $ echo "pick `hg log -r 0 -T '{node|short}'`" > plan
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
34 $ echo "pick `hg log -r 2 -T '{node|short}'`" >> plan
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
35 $ echo "edit `hg log -r 1 -T '{node|short}'`" >> plan
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
36 $ hg histedit -r 'all()' --commands plan
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
37 Editing (1b2d564fad96), you may commit or record as needed now.
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
38 (hg histedit --continue to resume)
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
39 [1]
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
40 $ hg st
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
41 A b
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
42 A c
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
43 ? plan
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
44 $ hg commit --amend b
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
45 $ hg histedit --continue
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
46 $ hg log -G
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 33774
diff changeset
47 @ 5:46abc7c4d873 b
28216
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
48 |
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 33774
diff changeset
49 o 4:49d44ab2be1b c
28216
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
50 |
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
51 o 0:cb9a9f314b8b a
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
52
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
53 $ hg debugobsolete
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
54 e72d22b19f8ecf4150ab4f91d0973fd9955d3ddf 49d44ab2be1b67a79127568a67c9c99430633b48 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
55 1b2d564fad96311b45362f17c2aa855150efb35f 46abc7c4d8738e8563e577f7889e1b6db3da4199 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '12', 'operation': 'histedit', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
56 114f4176969ef342759a8a57e6bccefc4234829b 49d44ab2be1b67a79127568a67c9c99430633b48 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '12', 'operation': 'histedit', 'user': 'test'}
28224
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
57
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
58 With some node gone missing during the edit.
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
59
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
60 $ echo "pick `hg log -r 0 -T '{node|short}'`" > plan
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 33774
diff changeset
61 $ echo "pick `hg log -r 5 -T '{node|short}'`" >> plan
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 33774
diff changeset
62 $ echo "edit `hg log -r 4 -T '{node|short}'`" >> plan
28224
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
63 $ hg histedit -r 'all()' --commands plan
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
64 Editing (49d44ab2be1b), you may commit or record as needed now.
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
65 (hg histedit --continue to resume)
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
66 [1]
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
67 $ hg st
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
68 A b
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
69 A d
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
70 ? plan
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
71 $ hg commit --amend -X . -m XXXXXX
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
72 $ hg commit --amend -X . -m b2
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
73 $ hg --hidden --config extensions.strip= strip 'desc(XXXXXX)' --no-backup
35778
128dd940bedc repair: invalidate volatile sets after stripping
Martin von Zweigbergk <martinvonz@google.com>
parents: 35709
diff changeset
74 warning: ignoring unknown working parent aba7da937030!
28224
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
75 $ hg histedit --continue
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
76 $ hg log -G
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 33774
diff changeset
77 @ 8:273c1f3b8626 c
28224
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
78 |
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 33774
diff changeset
79 o 7:aba7da937030 b2
28224
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
80 |
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
81 o 0:cb9a9f314b8b a
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
82
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
83 $ hg debugobsolete
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
84 e72d22b19f8ecf4150ab4f91d0973fd9955d3ddf 49d44ab2be1b67a79127568a67c9c99430633b48 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
85 1b2d564fad96311b45362f17c2aa855150efb35f 46abc7c4d8738e8563e577f7889e1b6db3da4199 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '12', 'operation': 'histedit', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
86 114f4176969ef342759a8a57e6bccefc4234829b 49d44ab2be1b67a79127568a67c9c99430633b48 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '12', 'operation': 'histedit', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
87 76f72745eac0643d16530e56e2f86e36e40631f1 2ca853e48edbd6453a0674dc0fe28a0974c51b9c 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
88 2ca853e48edbd6453a0674dc0fe28a0974c51b9c aba7da93703075eec9fb1dbaf143ff2bc1c49d46 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
89 49d44ab2be1b67a79127568a67c9c99430633b48 273c1f3b86267ed3ec684bb13af1fa4d6ba56e02 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'histedit', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
90 46abc7c4d8738e8563e577f7889e1b6db3da4199 aba7da93703075eec9fb1dbaf143ff2bc1c49d46 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '5', 'operation': 'histedit', 'user': 'test'}
28216
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
91 $ cd ..
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
92
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
93 Base setup for the rest of the testing
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
94 ======================================
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
95
17759
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
96 $ hg init base
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
97 $ cd base
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
98
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
99 $ for x in a b c d e f ; do
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
100 > echo $x > $x
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
101 > hg add $x
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
102 > hg ci -m $x
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
103 > done
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
104
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
105 $ hg log --graph
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
106 @ 5:652413bf663e f
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
107 |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
108 o 4:e860deea161a e
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
109 |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
110 o 3:055a42cdd887 d
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
111 |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
112 o 2:177f92b77385 c
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
113 |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
114 o 1:d2ae7f538514 b
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
115 |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
116 o 0:cb9a9f314b8b a
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
117
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
118
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
119 $ HGEDITOR=cat hg histedit 1
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
120 pick d2ae7f538514 1 b
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
121 pick 177f92b77385 2 c
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
122 pick 055a42cdd887 3 d
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
123 pick e860deea161a 4 e
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
124 pick 652413bf663e 5 f
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
125
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
126 # Edit history between d2ae7f538514 and 652413bf663e
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
127 #
20503
23dc77874191 histedit: clarify description of fold command
Adrian Zgorzałek <adek@fb.com>
parents: 19924
diff changeset
128 # Commits are listed from least to most recent
23dc77874191 histedit: clarify description of fold command
Adrian Zgorzałek <adek@fb.com>
parents: 19924
diff changeset
129 #
28396
5490b04e6132 histedit: adds hint how to reorder changesets at editor (issue3766)
liscju <piotr.listkiewicz@gmail.com>
parents: 28309
diff changeset
130 # You can reorder changesets by reordering the lines
5490b04e6132 histedit: adds hint how to reorder changesets at editor (issue3766)
liscju <piotr.listkiewicz@gmail.com>
parents: 28309
diff changeset
131 #
17759
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
132 # Commands:
27674
78d86664e3a2 histedit: prefer edit commit, edit message, use commit
timeless <timeless@mozdev.org>
parents: 27629
diff changeset
133 #
78d86664e3a2 histedit: prefer edit commit, edit message, use commit
timeless <timeless@mozdev.org>
parents: 27629
diff changeset
134 # e, edit = use commit, but stop for amending
78d86664e3a2 histedit: prefer edit commit, edit message, use commit
timeless <timeless@mozdev.org>
parents: 27629
diff changeset
135 # m, mess = edit commit message without changing commit content
17759
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
136 # p, pick = use commit
34489
270e344a6c74 histedit: removing the experimental config 'histeditng'
Saurabh Singh <singhsrb@fb.com>
parents: 34286
diff changeset
137 # b, base = checkout changeset and apply further changesets from there
27674
78d86664e3a2 histedit: prefer edit commit, edit message, use commit
timeless <timeless@mozdev.org>
parents: 27629
diff changeset
138 # d, drop = remove commit from history
20511
5840da876235 histedit: shorten new fold message
Matt Mackall <mpm@selenic.com>
parents: 20503
diff changeset
139 # f, fold = use commit, but combine it with the one above
31056
37ab9e20991c histedit: modify rollup to discard date from the rollup commit (issue4820)
Ben Schmidt <insightfuls@users.noreply.github.com>
parents: 30556
diff changeset
140 # r, roll = like fold, but discard this commit's description and date
17759
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
141 #
19019
53060cc1b601 histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
142 $ hg histedit 1 --commands - --verbose <<EOF | grep histedit
17759
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
143 > pick 177f92b77385 2 c
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
144 > drop d2ae7f538514 1 b
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
145 > pick 055a42cdd887 3 d
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
146 > fold e860deea161a 4 e
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
147 > pick 652413bf663e 5 f
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
148 > EOF
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
149 [1]
17759
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
150 $ hg log --graph --hidden
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
151 @ 10:cacdfd884a93 f
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
152 |
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
153 o 9:59d9f330561f d
25809
ebb5bb9bc32e histedit: mark temporary commits as obsolete when allowed to
Laurent Charignon <lcharignon@fb.com>
parents: 25412
diff changeset
154 |
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
155 | x 8:b558abc46d09 fold-temp-revision e860deea161a
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
156 | |
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
157 | x 7:96e494a2d553 d
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
158 |/
18437
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18398
diff changeset
159 o 6:b346ab9a313d c
17759
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
160 |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
161 | x 5:652413bf663e f
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
162 | |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
163 | x 4:e860deea161a e
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
164 | |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
165 | x 3:055a42cdd887 d
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
166 | |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
167 | x 2:177f92b77385 c
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
168 | |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
169 | x 1:d2ae7f538514 b
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
170 |/
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
171 o 0:cb9a9f314b8b a
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
172
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
173 $ hg debugobsolete
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
174 d2ae7f538514cd87c17547b0de4cea71fe1af9fb 0 {cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'histedit', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
175 177f92b773850b59254aa5e923436f921b55483b b346ab9a313db8537ecf96fca3ca3ca984ef3bd7 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'histedit', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
176 055a42cdd88768532f9cf79daa407fc8d138de9b 59d9f330561fd6c88b1a6b32f0e45034d88db784 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'histedit', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
177 e860deea161a2f77de56603b340ebbb4536308ae 59d9f330561fd6c88b1a6b32f0e45034d88db784 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'histedit', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
178 652413bf663ef2a641cab26574e46d5f5a64a55a cacdfd884a9321ec4e1de275ef3949fa953a1f83 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'histedit', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
179 96e494a2d553dd05902ba1cee1d94d4cb7b8faed 0 {b346ab9a313db8537ecf96fca3ca3ca984ef3bd7} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'histedit', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
180 b558abc46d09c30f57ac31e85a8a3d64d2e906e4 0 {96e494a2d553dd05902ba1cee1d94d4cb7b8faed} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'histedit', 'user': 'test'}
17771
dcfa526b180b histedit: create obsolescence markers in deterministic order
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17764
diff changeset
181
17761
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
182
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
183 Ensure hidden revision does not prevent histedit
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
184 -------------------------------------------------
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
185
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
186 create an hidden revision
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
187
19019
53060cc1b601 histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
188 $ hg histedit 6 --commands - << EOF
18437
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18398
diff changeset
189 > pick b346ab9a313d 6 c
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18398
diff changeset
190 > drop 59d9f330561f 7 d
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18398
diff changeset
191 > pick cacdfd884a93 8 f
17761
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
192 > EOF
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
193 $ hg log --graph
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
194 @ 11:c13eb81022ca f
17761
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
195 |
18437
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18398
diff changeset
196 o 6:b346ab9a313d c
17761
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
197 |
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
198 o 0:cb9a9f314b8b a
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
199
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
200 check hidden revision are ignored (6 have hidden children 7 and 8)
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
201
19019
53060cc1b601 histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
202 $ hg histedit 6 --commands - << EOF
18437
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18398
diff changeset
203 > pick b346ab9a313d 6 c
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18398
diff changeset
204 > pick c13eb81022ca 8 f
17761
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
205 > EOF
17762
57f27cbfc5bb histedit: refuse to edit public changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17761
diff changeset
206
57f27cbfc5bb histedit: refuse to edit public changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17761
diff changeset
207
18165
0f5a0a2073a8 histedit: allow operation from non-head if obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17771
diff changeset
208
18398
1a00c8451640 test: fix in-test comments related to obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18165
diff changeset
209 Test that rewriting leaving instability behind is allowed
1a00c8451640 test: fix in-test comments related to obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18165
diff changeset
210 ---------------------------------------------------------------------
18165
0f5a0a2073a8 histedit: allow operation from non-head if obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17771
diff changeset
211
0f5a0a2073a8 histedit: allow operation from non-head if obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17771
diff changeset
212 $ hg up '.^'
0f5a0a2073a8 histedit: allow operation from non-head if obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17771
diff changeset
213 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
0f5a0a2073a8 histedit: allow operation from non-head if obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17771
diff changeset
214 $ hg log -r 'children(.)'
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
215 11:c13eb81022ca f (no-eol)
19019
53060cc1b601 histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
216 $ hg histedit -r '.' --commands - <<EOF
18438
81e77a8820f3 test-histedit: fix instability creation test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18437
diff changeset
217 > edit b346ab9a313d 6 c
81e77a8820f3 test-histedit: fix instability creation test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18437
diff changeset
218 > EOF
81e77a8820f3 test-histedit: fix instability creation test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18437
diff changeset
219 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
81e77a8820f3 test-histedit: fix instability creation test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18437
diff changeset
220 adding c
27629
e7ff83b2bcfe histedit: list action when intervention is required
timeless <timeless@mozdev.org>
parents: 27406
diff changeset
221 Editing (b346ab9a313d), you may commit or record as needed now.
e7ff83b2bcfe histedit: list action when intervention is required
timeless <timeless@mozdev.org>
parents: 27406
diff changeset
222 (hg histedit --continue to resume)
18935
e5d9441ec281 dispatch: exit with status 1 for an InterventionRequired exception (bc)
Augie Fackler <raf@durin42.com>
parents: 18934
diff changeset
223 [1]
18438
81e77a8820f3 test-histedit: fix instability creation test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18437
diff changeset
224 $ echo c >> c
81e77a8820f3 test-histedit: fix instability creation test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18437
diff changeset
225 $ hg histedit --continue
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
226 1 new orphan changesets
18438
81e77a8820f3 test-histedit: fix instability creation test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18437
diff changeset
227
33774
9dcc3529e002 revset: rename unstable into orphan
Boris Feld <boris.feld@octobus.net>
parents: 33773
diff changeset
228 $ hg log -r 'orphan()'
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
229 11:c13eb81022ca f (no-eol)
18438
81e77a8820f3 test-histedit: fix instability creation test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18437
diff changeset
230
81e77a8820f3 test-histedit: fix instability creation test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18437
diff changeset
231 stabilise
81e77a8820f3 test-histedit: fix instability creation test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18437
diff changeset
232
33774
9dcc3529e002 revset: rename unstable into orphan
Boris Feld <boris.feld@octobus.net>
parents: 33773
diff changeset
233 $ hg rebase -r 'orphan()' -d .
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
234 rebasing 11:c13eb81022ca "f"
19924
c23c62209cc4 tests: prepare rebase test for wc parent preservation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19473
diff changeset
235 $ hg up tip -q
18439
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
236
18509
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
237 Test dropping of changeset on the top of the stack
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
238 -------------------------------------------------------
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
239
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
240 Nothing is rewritten below, the working directory parent must be change for the
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
241 dropped changeset to be hidden.
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
242
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
243 $ cd ..
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
244 $ hg clone base droplast
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
245 updating to branch default
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
246 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
247 $ cd droplast
19019
53060cc1b601 histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
248 $ hg histedit -r '40db8afa467b' --commands - << EOF
18509
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
249 > pick 40db8afa467b 10 c
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
250 > drop b449568bf7fc 11 f
18509
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
251 > EOF
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
252 $ hg log -G
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
253 @ 12:40db8afa467b c
18509
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
254 |
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
255 o 0:cb9a9f314b8b a
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
256
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
257
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
258 With rewritten ancestors
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
259
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
260 $ echo e > e
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
261 $ hg add e
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
262 $ hg commit -m g
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
263 $ echo f > f
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
264 $ hg add f
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
265 $ hg commit -m h
19019
53060cc1b601 histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
266 $ hg histedit -r '40db8afa467b' --commands - << EOF
18509
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
267 > pick 47a8561c0449 12 g
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
268 > pick 40db8afa467b 10 c
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
269 > drop 1b3b05f35ff0 13 h
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
270 > EOF
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
271 $ hg log -G
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
272 @ 17:ee6544123ab8 c
18509
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
273 |
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
274 o 16:269e713e9eae g
18509
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
275 |
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
276 o 0:cb9a9f314b8b a
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
277
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
278 $ cd ../base
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
279
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
280
18439
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
281
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
282 Test phases support
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
283 ===========================================
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
284
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
285 Check that histedit respect immutability
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
286 -------------------------------------------
18439
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
287
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
288 $ cat >> $HGRCPATH << EOF
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
289 > [ui]
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
290 > logtemplate= {rev}:{node|short} ({phase}) {desc|firstline}\n
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
291 > EOF
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
292
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
293 $ hg ph -pv '.^'
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
294 phase changed for 2 changesets
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
295 $ hg log -G
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
296 @ 13:b449568bf7fc (draft) f
18439
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
297 |
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
298 o 12:40db8afa467b (public) c
18439
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
299 |
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
300 o 0:cb9a9f314b8b (public) a
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
301
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
302 $ hg histedit -r '.~2'
25411
d298805fb639 phases: rewrite "immutable changeset" to "public changeset"
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 24771
diff changeset
303 abort: cannot edit public changeset: cb9a9f314b8b
29970
5ad164698626 histedit: use single quotes in use warning
timeless <timeless@mozdev.org>
parents: 28396
diff changeset
304 (see 'hg help phases' for details)
18439
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
305 [255]
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
306
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
307
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
308 Prepare further testing
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
309 -------------------------------------------
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
310
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
311 $ for x in g h i j k ; do
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
312 > echo $x > $x
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
313 > hg add $x
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
314 > hg ci -m $x
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
315 > done
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
316 $ hg phase --force --secret .~2
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
317 $ hg log -G
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
318 @ 18:ee118ab9fa44 (secret) k
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
319 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
320 o 17:3a6c53ee7f3d (secret) j
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
321 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
322 o 16:b605fb7503f2 (secret) i
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
323 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
324 o 15:7395e1ff83bd (draft) h
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
325 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
326 o 14:6b70183d2492 (draft) g
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
327 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
328 o 13:b449568bf7fc (draft) f
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
329 |
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
330 o 12:40db8afa467b (public) c
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
331 |
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
332 o 0:cb9a9f314b8b (public) a
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
333
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
334 $ cd ..
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
335
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
336 simple phase conservation
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
337 -------------------------------------------
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
338
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
339 Resulting changeset should conserve the phase of the original one whatever the
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
340 phases.new-commit option is.
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
341
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
342 New-commit as draft (default)
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
343
30556
c059286a0f9c tests: replace "cp -r" with "cp -R"
Jun Wu <quark@fb.com>
parents: 29970
diff changeset
344 $ cp -R base simple-draft
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
345 $ cd simple-draft
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
346 $ hg histedit -r 'b449568bf7fc' --commands - << EOF
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
347 > edit b449568bf7fc 11 f
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
348 > pick 6b70183d2492 12 g
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
349 > pick 7395e1ff83bd 13 h
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
350 > pick b605fb7503f2 14 i
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
351 > pick 3a6c53ee7f3d 15 j
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
352 > pick ee118ab9fa44 16 k
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
353 > EOF
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
354 0 files updated, 0 files merged, 6 files removed, 0 files unresolved
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
355 adding f
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
356 Editing (b449568bf7fc), you may commit or record as needed now.
27629
e7ff83b2bcfe histedit: list action when intervention is required
timeless <timeless@mozdev.org>
parents: 27406
diff changeset
357 (hg histedit --continue to resume)
18935
e5d9441ec281 dispatch: exit with status 1 for an InterventionRequired exception (bc)
Augie Fackler <raf@durin42.com>
parents: 18934
diff changeset
358 [1]
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
359 $ echo f >> f
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
360 $ hg histedit --continue
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
361 $ hg log -G
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
362 @ 24:12e89af74238 (secret) k
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
363 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
364 o 23:636a8687b22e (secret) j
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
365 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
366 o 22:ccaf0a38653f (secret) i
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
367 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
368 o 21:11a89d1c2613 (draft) h
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
369 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
370 o 20:c1dec7ca82ea (draft) g
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
371 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
372 o 19:087281e68428 (draft) f
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
373 |
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
374 o 12:40db8afa467b (public) c
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
375 |
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
376 o 0:cb9a9f314b8b (public) a
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
377
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
378 $ cd ..
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
379
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
380
28309
7c22b5bb3a03 tests: fix section description
timeless <timeless@mozdev.org>
parents: 28224
diff changeset
381 New-commit as secret (config)
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
382
30556
c059286a0f9c tests: replace "cp -r" with "cp -R"
Jun Wu <quark@fb.com>
parents: 29970
diff changeset
383 $ cp -R base simple-secret
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
384 $ cd simple-secret
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
385 $ cat >> .hg/hgrc << EOF
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
386 > [phases]
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
387 > new-commit=secret
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
388 > EOF
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
389 $ hg histedit -r 'b449568bf7fc' --commands - << EOF
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
390 > edit b449568bf7fc 11 f
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
391 > pick 6b70183d2492 12 g
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
392 > pick 7395e1ff83bd 13 h
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
393 > pick b605fb7503f2 14 i
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
394 > pick 3a6c53ee7f3d 15 j
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
395 > pick ee118ab9fa44 16 k
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
396 > EOF
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
397 0 files updated, 0 files merged, 6 files removed, 0 files unresolved
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
398 adding f
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
399 Editing (b449568bf7fc), you may commit or record as needed now.
27629
e7ff83b2bcfe histedit: list action when intervention is required
timeless <timeless@mozdev.org>
parents: 27406
diff changeset
400 (hg histedit --continue to resume)
18935
e5d9441ec281 dispatch: exit with status 1 for an InterventionRequired exception (bc)
Augie Fackler <raf@durin42.com>
parents: 18934
diff changeset
401 [1]
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
402 $ echo f >> f
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
403 $ hg histedit --continue
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
404 $ hg log -G
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
405 @ 24:12e89af74238 (secret) k
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
406 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
407 o 23:636a8687b22e (secret) j
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
408 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
409 o 22:ccaf0a38653f (secret) i
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
410 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
411 o 21:11a89d1c2613 (draft) h
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
412 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
413 o 20:c1dec7ca82ea (draft) g
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
414 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
415 o 19:087281e68428 (draft) f
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
416 |
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
417 o 12:40db8afa467b (public) c
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
418 |
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
419 o 0:cb9a9f314b8b (public) a
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
420
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
421 $ cd ..
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
422
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
423
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
424 Changeset reordering
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
425 -------------------------------------------
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
426
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
427 If a secret changeset is put before a draft one, all descendant should be secret.
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
428 It seems more important to present the secret phase.
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
429
30556
c059286a0f9c tests: replace "cp -r" with "cp -R"
Jun Wu <quark@fb.com>
parents: 29970
diff changeset
430 $ cp -R base reorder
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
431 $ cd reorder
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
432 $ hg histedit -r 'b449568bf7fc' --commands - << EOF
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
433 > pick b449568bf7fc 11 f
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
434 > pick 3a6c53ee7f3d 15 j
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
435 > pick 6b70183d2492 12 g
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
436 > pick b605fb7503f2 14 i
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
437 > pick 7395e1ff83bd 13 h
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
438 > pick ee118ab9fa44 16 k
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
439 > EOF
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
440 $ hg log -G
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
441 @ 23:558246857888 (secret) k
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
442 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
443 o 22:28bd44768535 (secret) h
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
444 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
445 o 21:d5395202aeb9 (secret) i
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
446 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
447 o 20:21edda8e341b (secret) g
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
448 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
449 o 19:5ab64f3a4832 (secret) j
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
450 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
451 o 13:b449568bf7fc (draft) f
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
452 |
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
453 o 12:40db8afa467b (public) c
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
454 |
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
455 o 0:cb9a9f314b8b (public) a
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
456
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
457 $ cd ..
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
458
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
459 Changeset folding
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
460 -------------------------------------------
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
461
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
462 Folding a secret changeset with a draft one turn the result secret (again,
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
463 better safe than sorry). Folding between same phase changeset still works
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
464
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
465 Note that there is a few reordering in this series for more extensive test
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
466
30556
c059286a0f9c tests: replace "cp -r" with "cp -R"
Jun Wu <quark@fb.com>
parents: 29970
diff changeset
467 $ cp -R base folding
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
468 $ cd folding
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
469 $ cat >> .hg/hgrc << EOF
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
470 > [phases]
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
471 > new-commit=secret
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
472 > EOF
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
473 $ hg histedit -r 'b449568bf7fc' --commands - << EOF
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
474 > pick 7395e1ff83bd 13 h
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
475 > fold b449568bf7fc 11 f
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
476 > pick 6b70183d2492 12 g
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
477 > fold 3a6c53ee7f3d 15 j
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
478 > pick b605fb7503f2 14 i
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
479 > fold ee118ab9fa44 16 k
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
480 > EOF
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
481 $ hg log -G
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
482 @ 27:f9daec13fb98 (secret) i
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
483 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
484 o 24:49807617f46a (secret) g
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
485 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
486 o 21:050280826e04 (draft) h
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
487 |
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
488 o 12:40db8afa467b (public) c
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
489 |
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
490 o 0:cb9a9f314b8b (public) a
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
491
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
492 $ hg co 49807617f46a
19473
10a0ae668fe6 histedit: refuse to edit history that contains merges (issue3962)
Augie Fackler <raf@durin42.com>
parents: 19019
diff changeset
493 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
10a0ae668fe6 histedit: refuse to edit history that contains merges (issue3962)
Augie Fackler <raf@durin42.com>
parents: 19019
diff changeset
494 $ echo wat >> wat
10a0ae668fe6 histedit: refuse to edit history that contains merges (issue3962)
Augie Fackler <raf@durin42.com>
parents: 19019
diff changeset
495 $ hg add wat
10a0ae668fe6 histedit: refuse to edit history that contains merges (issue3962)
Augie Fackler <raf@durin42.com>
parents: 19019
diff changeset
496 $ hg ci -m 'add wat'
10a0ae668fe6 histedit: refuse to edit history that contains merges (issue3962)
Augie Fackler <raf@durin42.com>
parents: 19019
diff changeset
497 created new head
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
498 $ hg merge f9daec13fb98
19473
10a0ae668fe6 histedit: refuse to edit history that contains merges (issue3962)
Augie Fackler <raf@durin42.com>
parents: 19019
diff changeset
499 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
10a0ae668fe6 histedit: refuse to edit history that contains merges (issue3962)
Augie Fackler <raf@durin42.com>
parents: 19019
diff changeset
500 (branch merge, don't forget to commit)
10a0ae668fe6 histedit: refuse to edit history that contains merges (issue3962)
Augie Fackler <raf@durin42.com>
parents: 19019
diff changeset
501 $ hg ci -m 'merge'
10a0ae668fe6 histedit: refuse to edit history that contains merges (issue3962)
Augie Fackler <raf@durin42.com>
parents: 19019
diff changeset
502 $ echo not wat > wat
10a0ae668fe6 histedit: refuse to edit history that contains merges (issue3962)
Augie Fackler <raf@durin42.com>
parents: 19019
diff changeset
503 $ hg ci -m 'modify wat'
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
504 $ hg histedit 050280826e04
19473
10a0ae668fe6 histedit: refuse to edit history that contains merges (issue3962)
Augie Fackler <raf@durin42.com>
parents: 19019
diff changeset
505 abort: cannot edit history that contains merges
10a0ae668fe6 histedit: refuse to edit history that contains merges (issue3962)
Augie Fackler <raf@durin42.com>
parents: 19019
diff changeset
506 [255]
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
507 $ cd ..
31639
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
508
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
509 Check abort behavior
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
510 -------------------------------------------
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
511
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
512 We checks that abort properly clean the repository so the same histedit can be
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
513 attempted later.
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
514
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
515 $ cp -R base abort
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
516 $ cd abort
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
517 $ hg histedit -r 'b449568bf7fc' --commands - << EOF
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
518 > pick b449568bf7fc 13 f
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
519 > pick 7395e1ff83bd 15 h
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
520 > pick 6b70183d2492 14 g
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
521 > pick b605fb7503f2 16 i
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
522 > roll 3a6c53ee7f3d 17 j
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
523 > edit ee118ab9fa44 18 k
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
524 > EOF
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
525 Editing (ee118ab9fa44), you may commit or record as needed now.
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
526 (hg histedit --continue to resume)
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
527 [1]
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
528
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
529 $ hg histedit --abort
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
530 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34961
diff changeset
531 saved backup bundle to $TESTTMP/abort/.hg/strip-backup/4dc06258baa6-dff4ef05-backup.hg
31639
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
532
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
533 $ hg log -G
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
534 @ 18:ee118ab9fa44 (secret) k
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
535 |
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
536 o 17:3a6c53ee7f3d (secret) j
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
537 |
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
538 o 16:b605fb7503f2 (secret) i
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
539 |
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
540 o 15:7395e1ff83bd (draft) h
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
541 |
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
542 o 14:6b70183d2492 (draft) g
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
543 |
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
544 o 13:b449568bf7fc (draft) f
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
545 |
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
546 o 12:40db8afa467b (public) c
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
547 |
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
548 o 0:cb9a9f314b8b (public) a
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
549
34870
64f29fff1877 config: rename stabilization.track-operation
Boris Feld <boris.feld@octobus.net>
parents: 34867
diff changeset
550 $ hg histedit -r 'b449568bf7fc' --commands - << EOF --config experimental.evolution.track-operation=1
31639
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
551 > pick b449568bf7fc 13 f
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
552 > pick 7395e1ff83bd 15 h
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
553 > pick 6b70183d2492 14 g
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
554 > pick b605fb7503f2 16 i
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
555 > pick 3a6c53ee7f3d 17 j
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
556 > edit ee118ab9fa44 18 k
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
557 > EOF
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
558 Editing (ee118ab9fa44), you may commit or record as needed now.
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
559 (hg histedit --continue to resume)
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
560 [1]
34870
64f29fff1877 config: rename stabilization.track-operation
Boris Feld <boris.feld@octobus.net>
parents: 34867
diff changeset
561 $ hg histedit --continue --config experimental.evolution.track-operation=1
31639
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
562 $ hg log -G
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
563 @ 23:175d6b286a22 (secret) k
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
564 |
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
565 o 22:44ca09d59ae4 (secret) j
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
566 |
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
567 o 21:31747692a644 (secret) i
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
568 |
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
569 o 20:9985cd4f21fa (draft) g
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
570 |
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
571 o 19:4dc06258baa6 (draft) h
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
572 |
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
573 o 13:b449568bf7fc (draft) f
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
574 |
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
575 o 12:40db8afa467b (public) c
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
576 |
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
577 o 0:cb9a9f314b8b (public) a
84242dce8305 histedit: test that an aborted histedit can be rerun (with obsolete)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31638
diff changeset
578
32354
f432897a9f49 obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32327
diff changeset
579 $ hg debugobsolete --rev .
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
580 ee118ab9fa44ebb86be85996548b5517a39e5093 175d6b286a224c23f192e79a581ce83131a53fa2 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'histedit', 'user': 'test'}