annotate tests/test-histedit-obsolete.t @ 42742:334c1ea57136

discovery: new devel.discovery.randomize option By default, this is True, but setting it to False is a uniform way to kill all randomness in integration tests such as test-setdiscovery.t By "uniform" we mean that it can be passed to implementations in other languages, for which the monkey-patching of random.sample would be irrelevant. In the above mentioned test file, we use it right away, replacing the adhoc extension that had the same purpose, and to derandomize a case with many round-trips, that we'll need to behave uniformly in the Rust version. Differential Revision: https://phab.mercurial-scm.org/D6427
author Georges Racinet <georges.racinet@octobus.net>
date Tue, 21 May 2019 17:44:15 +0200
parents db5560c07a28
children bde97bee321f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
42584
db5560c07a28 abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents: 42052
diff changeset
1 #testcases abortcommand abortflag
db5560c07a28 abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents: 42052
diff changeset
2
db5560c07a28 abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents: 42052
diff changeset
3 #if abortflag
db5560c07a28 abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents: 42052
diff changeset
4 $ cat >> $HGRCPATH <<EOF
db5560c07a28 abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents: 42052
diff changeset
5 > [alias]
db5560c07a28 abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents: 42052
diff changeset
6 > abort = histedit --abort
db5560c07a28 abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents: 42052
diff changeset
7 > EOF
db5560c07a28 abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents: 42052
diff changeset
8 #endif
db5560c07a28 abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents: 42052
diff changeset
9
17759
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
10 $ . "$TESTDIR/histedit-helpers.sh"
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
11
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
12 Enable obsolete
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
13
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
14 $ cat >> $HGRCPATH << EOF
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
15 > [ui]
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
16 > logtemplate= {rev}:{node|short} {desc|firstline}
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
17 > [phases]
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
18 > publish=False
22955
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 22392
diff changeset
19 > [experimental]
34866
1644623ab096 config: use 'experimental.evolution.create-markers'
Boris Feld <boris.feld@octobus.net>
parents: 34489
diff changeset
20 > evolution.createmarkers=True
34867
7f183c643eb6 config: use 'experimental.evolution.allowunstable'
Boris Feld <boris.feld@octobus.net>
parents: 34866
diff changeset
21 > evolution.allowunstable=True
22392
2dd1cbee569d tests: remove unnecessary apostrophe
David Soria Parra <davidsp@fb.com>
parents: 22260
diff changeset
22 > [extensions]
17759
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
23 > histedit=
18438
81e77a8820f3 test-histedit: fix instability creation test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18437
diff changeset
24 > rebase=
17759
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
25 > EOF
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
26
28216
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
27 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
28 $ hg init boo
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
29 $ cd boo
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
30 $ echo a > a
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 a
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
32 adding a
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
33 $ echo a > b
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
34 $ echo a > c
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
35 $ echo a > c
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
36 $ 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
37 adding b
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
38 adding c
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
39 $ echo a > d
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
40 $ 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
41 adding d
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
42 $ 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
43 $ 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
44 $ 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
45 $ 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
46 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
47 (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
48 [1]
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
49 $ hg st
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
50 A b
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
51 A c
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
52 ? plan
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
53 $ 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
54 $ hg histedit --continue
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
55 $ hg log -G
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 33774
diff changeset
56 @ 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
57 |
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 33774
diff changeset
58 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
59 |
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
60 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
61
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
62 $ hg debugobsolete
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
63 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
64 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
65 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
66
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
67 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
68
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
69 $ 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
70 $ 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
71 $ 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
72 $ 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
73 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
74 (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
75 [1]
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
76 $ hg st
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
77 A b
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
78 A d
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
79 ? plan
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
80 $ 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
81 $ 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
82 $ hg --hidden --config extensions.strip= strip 'desc(XXXXXX)' --no-backup
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
83 $ 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
84 $ hg log -G
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 33774
diff changeset
85 @ 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
86 |
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 33774
diff changeset
87 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
88 |
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
89 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
90
8ec5478aa0d6 histedit: also handle locally missing nodes when reading obsolescence
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28216
diff changeset
91 $ hg debugobsolete
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
92 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
93 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
94 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
95 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
96 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
97 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
98 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
99 $ cd ..
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
100
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
101 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
102 ======================================
eed7d8c07c20 histedit: make histedit aware of obsolescense not stored in state (issue4800)
Kostia Balytskyi <ikostia@fb.com>
parents: 28004
diff changeset
103
17759
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
104 $ hg init base
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
105 $ cd base
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
106
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
107 $ 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
108 > echo $x > $x
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
109 > hg add $x
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
110 > hg ci -m $x
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
111 > done
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
112
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
113 $ hg log --graph
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
114 @ 5:652413bf663e f
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 4:e860deea161a e
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 o 3:055a42cdd887 d
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
119 |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
120 o 2:177f92b77385 c
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
121 |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
122 o 1:d2ae7f538514 b
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
123 |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
124 o 0:cb9a9f314b8b a
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
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
127 $ HGEDITOR=cat hg histedit 1
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
128 pick d2ae7f538514 1 b
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
129 pick 177f92b77385 2 c
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
130 pick 055a42cdd887 3 d
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
131 pick e860deea161a 4 e
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
132 pick 652413bf663e 5 f
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
133
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
134 # Edit history between d2ae7f538514 and 652413bf663e
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
135 #
20503
23dc77874191 histedit: clarify description of fold command
Adrian Zgorzałek <adek@fb.com>
parents: 19924
diff changeset
136 # 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
137 #
28396
5490b04e6132 histedit: adds hint how to reorder changesets at editor (issue3766)
liscju <piotr.listkiewicz@gmail.com>
parents: 28309
diff changeset
138 # 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
139 #
17759
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
140 # Commands:
27674
78d86664e3a2 histedit: prefer edit commit, edit message, use commit
timeless <timeless@mozdev.org>
parents: 27629
diff changeset
141 #
78d86664e3a2 histedit: prefer edit commit, edit message, use commit
timeless <timeless@mozdev.org>
parents: 27629
diff changeset
142 # 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
143 # 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
144 # p, pick = use commit
34489
270e344a6c74 histedit: removing the experimental config 'histeditng'
Saurabh Singh <singhsrb@fb.com>
parents: 34286
diff changeset
145 # 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
146 # d, drop = remove commit from history
20511
5840da876235 histedit: shorten new fold message
Matt Mackall <mpm@selenic.com>
parents: 20503
diff changeset
147 # 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
148 # 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
149 #
19019
53060cc1b601 histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
150 $ 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
151 > pick 177f92b77385 2 c
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
152 > drop d2ae7f538514 1 b
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
153 > pick 055a42cdd887 3 d
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
154 > fold e860deea161a 4 e
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
155 > pick 652413bf663e 5 f
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
156 > EOF
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
157 [1]
17759
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
158 $ hg log --graph --hidden
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
159 @ 10:cacdfd884a93 f
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
160 |
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
161 o 9:59d9f330561f d
25809
ebb5bb9bc32e histedit: mark temporary commits as obsolete when allowed to
Laurent Charignon <lcharignon@fb.com>
parents: 25412
diff changeset
162 |
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
163 | 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
164 | |
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
165 | x 7:96e494a2d553 d
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
166 |/
18437
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18398
diff changeset
167 o 6:b346ab9a313d c
17759
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 5:652413bf663e f
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 | x 4:e860deea161a e
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 | x 3:055a42cdd887 d
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
174 | |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
175 | x 2:177f92b77385 c
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
176 | |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
177 | x 1:d2ae7f538514 b
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
178 |/
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
179 o 0:cb9a9f314b8b a
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
180
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
181 $ hg debugobsolete
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
182 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
183 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
184 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
185 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
186 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
187 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
188 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
189
17761
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
190
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
191 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
192 -------------------------------------------------
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
193
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
194 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
195
19019
53060cc1b601 histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
196 $ hg histedit 6 --commands - << EOF
18437
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18398
diff changeset
197 > pick b346ab9a313d 6 c
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18398
diff changeset
198 > drop 59d9f330561f 7 d
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18398
diff changeset
199 > 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
200 > EOF
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
201 $ hg log --graph
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
202 @ 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
203 |
18437
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18398
diff changeset
204 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
205 |
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
206 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
207
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
208 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
209
19019
53060cc1b601 histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
210 $ hg histedit 6 --commands - << EOF
18437
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18398
diff changeset
211 > pick b346ab9a313d 6 c
358c23e8f1c6 histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18398
diff changeset
212 > 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
213 > EOF
17762
57f27cbfc5bb histedit: refuse to edit public changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17761
diff changeset
214
57f27cbfc5bb histedit: refuse to edit public changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17761
diff changeset
215
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
216
18398
1a00c8451640 test: fix in-test comments related to obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18165
diff changeset
217 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
218 ---------------------------------------------------------------------
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
219
0f5a0a2073a8 histedit: allow operation from non-head if obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17771
diff changeset
220 $ 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
221 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
222 $ hg log -r 'children(.)'
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
223 11:c13eb81022ca f (no-eol)
19019
53060cc1b601 histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
224 $ 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
225 > edit b346ab9a313d 6 c
81e77a8820f3 test-histedit: fix instability creation test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18437
diff changeset
226 > EOF
81e77a8820f3 test-histedit: fix instability creation test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18437
diff changeset
227 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
27629
e7ff83b2bcfe histedit: list action when intervention is required
timeless <timeless@mozdev.org>
parents: 27406
diff changeset
228 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
229 (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
230 [1]
18438
81e77a8820f3 test-histedit: fix instability creation test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18437
diff changeset
231 $ echo c >> c
81e77a8820f3 test-histedit: fix instability creation test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18437
diff changeset
232 $ hg histedit --continue
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
233 1 new orphan changesets
18438
81e77a8820f3 test-histedit: fix instability creation test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18437
diff changeset
234
33774
9dcc3529e002 revset: rename unstable into orphan
Boris Feld <boris.feld@octobus.net>
parents: 33773
diff changeset
235 $ hg log -r 'orphan()'
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
236 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
237
81e77a8820f3 test-histedit: fix instability creation test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18437
diff changeset
238 stabilise
81e77a8820f3 test-histedit: fix instability creation test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18437
diff changeset
239
33774
9dcc3529e002 revset: rename unstable into orphan
Boris Feld <boris.feld@octobus.net>
parents: 33773
diff changeset
240 $ hg rebase -r 'orphan()' -d .
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
241 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
242 $ 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
243
18509
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
244 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
245 -------------------------------------------------------
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
246
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
247 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
248 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
249
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
250 $ cd ..
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
251 $ 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
252 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
253 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
254 $ cd droplast
19019
53060cc1b601 histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
255 $ 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
256 > pick 40db8afa467b 10 c
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
257 > 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
258 > EOF
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
259 $ hg log -G
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
260 @ 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
261 |
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
262 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
263
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
264
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
265 With rewritten ancestors
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
266
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
267 $ echo e > e
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
268 $ hg add e
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
269 $ 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
270 $ echo f > f
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
271 $ hg add f
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
272 $ hg commit -m h
19019
53060cc1b601 histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18935
diff changeset
273 $ 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
274 > 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
275 > 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
276 > 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
277 > EOF
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
278 $ hg log -G
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
279 @ 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
280 |
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
281 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
282 |
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
283 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
284
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
285 $ cd ../base
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
286
21daee53c101 test-histedit: add tests for dropping head changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18440
diff changeset
287
18439
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
288
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
289 Test phases support
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
290 ===========================================
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
291
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
292 Check that histedit respect immutability
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
293 -------------------------------------------
18439
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
294
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
295 $ 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
296 > [ui]
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
297 > 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
298 > EOF
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 $ 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
301 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
302 $ hg log -G
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
303 @ 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
304 |
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
305 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
306 |
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
307 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
308
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
309 $ hg histedit -r '.~2'
25411
d298805fb639 phases: rewrite "immutable changeset" to "public changeset"
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 24771
diff changeset
310 abort: cannot edit public changeset: cb9a9f314b8b
29970
5ad164698626 histedit: use single quotes in use warning
timeless <timeless@mozdev.org>
parents: 28396
diff changeset
311 (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
312 [255]
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
313
c6e3fa134da5 test-histedit: reorder phases test and prepare for more
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18438
diff changeset
314
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
315 Prepare further testing
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
316 -------------------------------------------
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
317
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
318 $ 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
319 > echo $x > $x
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
320 > hg add $x
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
321 > hg ci -m $x
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
322 > done
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
323 $ hg phase --force --secret .~2
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
324 $ hg log -G
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
325 @ 18:ee118ab9fa44 (secret) k
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
326 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
327 o 17:3a6c53ee7f3d (secret) j
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
328 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
329 o 16:b605fb7503f2 (secret) i
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
330 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
331 o 15:7395e1ff83bd (draft) h
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
332 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
333 o 14:6b70183d2492 (draft) g
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
334 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
335 o 13:b449568bf7fc (draft) f
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
336 |
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
337 o 12:40db8afa467b (public) c
18440
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 o 0:cb9a9f314b8b (public) a
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
340
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
341 $ cd ..
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
342
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
343 simple phase conservation
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
344 -------------------------------------------
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
345
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
346 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
347 phases.new-commit option is.
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
348
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
349 New-commit as draft (default)
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
350
30556
c059286a0f9c tests: replace "cp -r" with "cp -R"
Jun Wu <quark@fb.com>
parents: 29970
diff changeset
351 $ cp -R base simple-draft
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
352 $ cd simple-draft
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
353 $ hg histedit -r 'b449568bf7fc' --commands - << EOF
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
354 > edit b449568bf7fc 11 f
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
355 > pick 6b70183d2492 12 g
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
356 > pick 7395e1ff83bd 13 h
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
357 > pick b605fb7503f2 14 i
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
358 > pick 3a6c53ee7f3d 15 j
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
359 > pick ee118ab9fa44 16 k
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
360 > EOF
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
361 0 files updated, 0 files merged, 6 files removed, 0 files unresolved
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
362 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
363 (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
364 [1]
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
365 $ echo f >> f
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
366 $ hg histedit --continue
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
367 $ hg log -G
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
368 @ 24:12e89af74238 (secret) k
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 23:636a8687b22e (secret) j
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 22:ccaf0a38653f (secret) i
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
373 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
374 o 21:11a89d1c2613 (draft) h
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
375 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
376 o 20:c1dec7ca82ea (draft) g
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
377 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
378 o 19:087281e68428 (draft) f
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
379 |
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
380 o 12:40db8afa467b (public) c
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
381 |
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
382 o 0:cb9a9f314b8b (public) a
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
383
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
384 $ cd ..
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
385
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
386
28309
7c22b5bb3a03 tests: fix section description
timeless <timeless@mozdev.org>
parents: 28224
diff changeset
387 New-commit as secret (config)
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
388
30556
c059286a0f9c tests: replace "cp -r" with "cp -R"
Jun Wu <quark@fb.com>
parents: 29970
diff changeset
389 $ cp -R base simple-secret
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
390 $ cd simple-secret
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
391 $ cat >> .hg/hgrc << EOF
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
392 > [phases]
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
393 > new-commit=secret
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
394 > EOF
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
395 $ hg histedit -r 'b449568bf7fc' --commands - << EOF
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
396 > edit b449568bf7fc 11 f
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
397 > pick 6b70183d2492 12 g
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
398 > pick 7395e1ff83bd 13 h
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
399 > pick b605fb7503f2 14 i
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
400 > pick 3a6c53ee7f3d 15 j
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
401 > pick ee118ab9fa44 16 k
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
402 > EOF
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
403 0 files updated, 0 files merged, 6 files removed, 0 files unresolved
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
404 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
405 (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
406 [1]
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
407 $ echo f >> f
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
408 $ hg histedit --continue
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
409 $ hg log -G
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
410 @ 24:12e89af74238 (secret) k
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
411 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
412 o 23:636a8687b22e (secret) j
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
413 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
414 o 22:ccaf0a38653f (secret) i
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
415 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
416 o 21:11a89d1c2613 (draft) h
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
417 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
418 o 20:c1dec7ca82ea (draft) g
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
419 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
420 o 19:087281e68428 (draft) f
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
421 |
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
422 o 12:40db8afa467b (public) c
18440
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 o 0:cb9a9f314b8b (public) a
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 $ cd ..
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
427
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
428
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
429 Changeset reordering
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
430 -------------------------------------------
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
431
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
432 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
433 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
434
30556
c059286a0f9c tests: replace "cp -r" with "cp -R"
Jun Wu <quark@fb.com>
parents: 29970
diff changeset
435 $ cp -R base reorder
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
436 $ cd reorder
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
437 $ hg histedit -r 'b449568bf7fc' --commands - << EOF
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
438 > pick b449568bf7fc 11 f
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
439 > pick 3a6c53ee7f3d 15 j
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
440 > pick 6b70183d2492 12 g
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
441 > pick b605fb7503f2 14 i
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
442 > pick 7395e1ff83bd 13 h
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
443 > pick ee118ab9fa44 16 k
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
444 > EOF
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
445 $ hg log -G
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
446 @ 23:558246857888 (secret) k
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
447 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
448 o 22:28bd44768535 (secret) h
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
449 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
450 o 21:d5395202aeb9 (secret) i
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
451 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
452 o 20:21edda8e341b (secret) g
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
453 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
454 o 19:5ab64f3a4832 (secret) j
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
455 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
456 o 13:b449568bf7fc (draft) f
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
457 |
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
458 o 12:40db8afa467b (public) c
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
459 |
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
460 o 0:cb9a9f314b8b (public) a
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 $ cd ..
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
463
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
464 Changeset folding
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
465 -------------------------------------------
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
466
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
467 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
468 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
469
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
470 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
471
30556
c059286a0f9c tests: replace "cp -r" with "cp -R"
Jun Wu <quark@fb.com>
parents: 29970
diff changeset
472 $ cp -R base folding
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
473 $ cd folding
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
474 $ cat >> .hg/hgrc << EOF
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
475 > [phases]
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
476 > new-commit=secret
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
477 > EOF
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
478 $ hg histedit -r 'b449568bf7fc' --commands - << EOF
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
479 > pick 7395e1ff83bd 13 h
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
480 > fold b449568bf7fc 11 f
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
481 > pick 6b70183d2492 12 g
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
482 > fold 3a6c53ee7f3d 15 j
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
483 > pick b605fb7503f2 14 i
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
484 > fold ee118ab9fa44 16 k
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
485 > EOF
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
486 $ hg log -G
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
487 @ 27:f9daec13fb98 (secret) i
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
488 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
489 o 24:49807617f46a (secret) g
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
490 |
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
491 o 21:050280826e04 (draft) h
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
492 |
26763
50fc80e46786 histedit: make histedit prune when obsolete is enabled
Durham Goode <durham@fb.com>
parents: 26100
diff changeset
493 o 12:40db8afa467b (public) c
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
494 |
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
495 o 0:cb9a9f314b8b (public) a
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
496
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
497 $ hg co 49807617f46a
19473
10a0ae668fe6 histedit: refuse to edit history that contains merges (issue3962)
Augie Fackler <raf@durin42.com>
parents: 19019
diff changeset
498 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
499 $ echo wat >> wat
10a0ae668fe6 histedit: refuse to edit history that contains merges (issue3962)
Augie Fackler <raf@durin42.com>
parents: 19019
diff changeset
500 $ hg add wat
10a0ae668fe6 histedit: refuse to edit history that contains merges (issue3962)
Augie Fackler <raf@durin42.com>
parents: 19019
diff changeset
501 $ hg ci -m 'add wat'
10a0ae668fe6 histedit: refuse to edit history that contains merges (issue3962)
Augie Fackler <raf@durin42.com>
parents: 19019
diff changeset
502 created new head
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
503 $ hg merge f9daec13fb98
19473
10a0ae668fe6 histedit: refuse to edit history that contains merges (issue3962)
Augie Fackler <raf@durin42.com>
parents: 19019
diff changeset
504 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
505 (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
506 $ hg ci -m 'merge'
10a0ae668fe6 histedit: refuse to edit history that contains merges (issue3962)
Augie Fackler <raf@durin42.com>
parents: 19019
diff changeset
507 $ echo not wat > wat
10a0ae668fe6 histedit: refuse to edit history that contains merges (issue3962)
Augie Fackler <raf@durin42.com>
parents: 19019
diff changeset
508 $ hg ci -m 'modify wat'
27977
b698abf971e7 rebase: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27674
diff changeset
509 $ hg histedit 050280826e04
19473
10a0ae668fe6 histedit: refuse to edit history that contains merges (issue3962)
Augie Fackler <raf@durin42.com>
parents: 19019
diff changeset
510 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
511 [255]
18440
35513c59f376 histedit: proper phase conservation (issue3724)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18439
diff changeset
512 $ 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
513
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 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
515 -------------------------------------------
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
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 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
518 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
519
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 $ 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
521 $ 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
522 $ 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
523 > 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
524 > 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
525 > 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
526 > 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
527 > 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
528 > 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
529 > 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
530 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
531 (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
532 [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
533
42584
db5560c07a28 abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents: 42052
diff changeset
534 #if abortcommand
db5560c07a28 abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents: 42052
diff changeset
535 when in dry-run mode
db5560c07a28 abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents: 42052
diff changeset
536 $ hg abort --dry-run
db5560c07a28 abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents: 42052
diff changeset
537 histedit in progress, will be aborted
db5560c07a28 abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents: 42052
diff changeset
538 #endif
db5560c07a28 abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents: 42052
diff changeset
539
db5560c07a28 abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents: 42052
diff changeset
540 $ hg abort
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
541 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
542 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
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 $ 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
545 @ 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
546 |
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 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
548 |
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 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
550 |
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 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
552 |
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 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
554 |
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 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
556 |
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 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
558 |
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 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
560
34870
64f29fff1877 config: rename stabilization.track-operation
Boris Feld <boris.feld@octobus.net>
parents: 34867
diff changeset
561 $ 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
562 > 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
563 > 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
564 > 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
565 > 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
566 > 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
567 > 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
568 > 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
569 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
570 (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
571 [1]
34870
64f29fff1877 config: rename stabilization.track-operation
Boris Feld <boris.feld@octobus.net>
parents: 34867
diff changeset
572 $ 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
573 $ 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
574 @ 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
575 |
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 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
577 |
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 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
579 |
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
580 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
581 |
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
582 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
583 |
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
584 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
585 |
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
586 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
587 |
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
588 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
589
32354
f432897a9f49 obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32327
diff changeset
590 $ hg debugobsolete --rev .
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
591 ee118ab9fa44ebb86be85996548b5517a39e5093 175d6b286a224c23f192e79a581ce83131a53fa2 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'histedit', 'user': 'test'}