annotate tests/test-evolve-split.t @ 5802:84efc2e92228

rewind: abort if some parts of a fold are unknown locally
author Anton Shestakov <av6@dwimlabs.net>
date Tue, 22 Dec 2020 19:07:46 +0800
parents e0885e2abf59
children a1dad44fe3da
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1428
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
1 Check that evolve shows error while handling split commits
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
2 --------------------------------------
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
3 $ cat >> $HGRCPATH <<EOF
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
4 > [defaults]
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
5 > amend=-d "0 0"
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
6 > fold=-d "0 0"
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
7 > [web]
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
8 > push_ssl = false
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
9 > allow_push = *
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
10 > [phases]
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
11 > publish = False
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
12 > [diff]
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
13 > git = 1
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
14 > unified = 0
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
15 > [ui]
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
16 > logtemplate = {rev}:{node|short}@{branch}({phase}) {desc|firstline}\n
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
17 > [extensions]
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
18 > EOF
1806
9f42f819267b evolve: move the extensions to 'hgext3rd'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1481
diff changeset
19 $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
1428
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
20 $ mkcommit() {
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
21 > echo "$1" > "$1"
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
22 > hg add "$1"
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
23 > hg ci -m "add $1"
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
24 > }
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
25
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
26 $ hg init split
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
27 $ cd split
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
28 $ mkcommit aa
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
29
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
30 Create a split commit
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
31 $ printf "oo" > oo;
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
32 $ printf "pp" > pp;
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
33 $ hg add oo pp
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
34 $ hg commit -m "oo+pp"
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
35 $ mkcommit uu
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
36 $ hg up 0
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
37 0 files updated, 0 files merged, 3 files removed, 0 files unresolved
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
38 $ printf "oo" > oo;
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
39 $ hg add oo
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
40 $ hg commit -m "_oo"
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
41 created new head
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
42 $ printf "pp" > pp;
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
43 $ hg add pp
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
44 $ hg commit -m "_pp"
4763
184c64c81528 prune: spell --successor flag without any unnecessary shortcuts
Anton Shestakov <av6@dwimlabs.net>
parents: 4577
diff changeset
45 $ hg prune --successor "desc(_oo) + desc(_pp)" -r "desc('oo+pp')" --split
1428
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
46 1 changesets pruned
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
47 1 new orphan changesets
1428
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
48 $ hg log -G
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
49 @ 4:d0dcf24cddd3@default(draft) _pp
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
50 |
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
51 o 3:a7fdfda64c08@default(draft) _oo
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
52 |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
53 | * 2:f52200b086ca@default(draft) add uu
1428
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
54 | |
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
55 | x 1:d55647aaa0c6@default(draft) oo+pp
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
56 |/
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
57 o 0:58663bb03074@default(draft) add aa
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
58
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
59 $ hg evolve --rev "0::"
1481
3c0aebe73482 evolve: handle split commit for instability
Laurent Charignon <lcharignon@fb.com>
parents: 1471
diff changeset
60 move:[2] add uu
3c0aebe73482 evolve: handle split commit for instability
Laurent Charignon <lcharignon@fb.com>
parents: 1471
diff changeset
61 atop:[4] _pp
5206
dc3571a37b56 evolve: support ancestor of orphan split with unrelated changeset in between
Manuel Jacob <me@manueljacob.de>
parents: 4763
diff changeset
62
5207
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
63 $ cd ..
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
64 $ hg init split-merged
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
65 $ cd split-merged
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
66 $ mkcommit aa
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
67
5208
e0885e2abf59 tests: merge two tests about split changesets
Manuel Jacob <me@manueljacob.de>
parents: 5207
diff changeset
68 Split the changeset such that the successors don't have a single root and there's an unrelated changeset in between
5207
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
69 $ printf "oo" > oo;
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
70 $ printf "pp" > pp;
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
71 $ printf "qq" > qq;
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
72 $ hg add oo pp qq
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
73 $ hg commit -m "oo+pp+qq"
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
74 $ mkcommit uu
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
75 $ hg up 0
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
76 0 files updated, 0 files merged, 4 files removed, 0 files unresolved
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
77 $ printf "oo" > oo;
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
78 $ hg add oo
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
79 $ hg commit -m "_oo"
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
80 created new head
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
81 $ hg up 0
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
82 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
83 $ printf "pp" > pp;
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
84 $ hg add pp
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
85 $ hg commit -m "_pp"
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
86 created new head
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
87 $ hg merge 3
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
88 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
89 (branch merge, don't forget to commit)
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
90 $ hg ci -m 'merge oo and pp'
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
91 $ printf "qq" > qq;
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
92 $ hg add qq
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
93 $ hg commit -m "_qq"
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
94 $ hg prune --successor "desc(_oo) + desc(_pp) + desc(_qq)" -r "desc('oo+pp+qq')" --split
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
95 1 changesets pruned
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
96 1 new orphan changesets
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
97 $ hg log -G
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
98 @ 6:ea5b1e180c04@default(draft) _qq
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
99 |
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
100 o 5:bf7c32161b4b@default(draft) merge oo and pp
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
101 |\
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
102 | o 4:ece0aaa22eb7@default(draft) _pp
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
103 | |
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
104 o | 3:a7fdfda64c08@default(draft) _oo
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
105 |/
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
106 | * 2:cc56c47d84b3@default(draft) add uu
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
107 | |
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
108 | x 1:575a7380a87d@default(draft) oo+pp+qq
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
109 |/
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
110 o 0:58663bb03074@default(draft) add aa
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
111
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
112 $ hg evolve --rev "0::"
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
113 move:[2] add uu
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
114 atop:[6] _qq