annotate tests/test-evolve-split.t @ 6309:f7d1a14fd6a4

evolve: obsstore has predecessors method since 4.4
author Anton Shestakov <av6@dwimlabs.net>
date Sun, 09 Oct 2022 08:36:25 +0400
parents d919851981d4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5960
d919851981d4 tests: evolve should be able to handle split parents by now
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
1 Check that evolve can handle split commits
d919851981d4 tests: evolve should be able to handle split parents by now
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
2 ------------------------------------------
d919851981d4 tests: evolve should be able to handle split parents by now
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
3
1428
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
4 $ cat >> $HGRCPATH <<EOF
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
5 > [ui]
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
6 > 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
7 > [extensions]
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
8 > EOF
1806
9f42f819267b evolve: move the extensions to 'hgext3rd'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1481
diff changeset
9 $ 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
10 $ mkcommit() {
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
11 > echo "$1" > "$1"
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
12 > hg add "$1"
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
13 > hg ci -m "add $1"
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
14 > }
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
15
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
16 $ hg init split
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
17 $ cd split
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
18 $ mkcommit aa
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
19
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
20 Create a split commit
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
21 $ printf "oo" > oo;
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
22 $ printf "pp" > pp;
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
23 $ hg add oo pp
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
24 $ hg commit -m "oo+pp"
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
25 $ mkcommit uu
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
26 $ hg up 0
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
27 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
28 $ printf "oo" > oo;
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
29 $ hg add oo
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
30 $ hg commit -m "_oo"
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
31 created new head
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 pp
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
34 $ hg commit -m "_pp"
4763
184c64c81528 prune: spell --successor flag without any unnecessary shortcuts
Anton Shestakov <av6@dwimlabs.net>
parents: 4577
diff changeset
35 $ 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
36 1 changesets pruned
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
37 1 new orphan changesets
1428
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
38 $ hg log -G
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
39 @ 4:d0dcf24cddd3@default(draft) _pp
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
40 |
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
41 o 3:a7fdfda64c08@default(draft) _oo
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
42 |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
43 | * 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
44 | |
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
45 | 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
46 |/
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
47 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
48
20a3b0b27bfe evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
49 $ hg evolve --rev "0::"
1481
3c0aebe73482 evolve: handle split commit for instability
Laurent Charignon <lcharignon@fb.com>
parents: 1471
diff changeset
50 move:[2] add uu
3c0aebe73482 evolve: handle split commit for instability
Laurent Charignon <lcharignon@fb.com>
parents: 1471
diff changeset
51 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
52
5207
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
53 $ cd ..
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
54 $ hg init split-merged
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
55 $ cd split-merged
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
56 $ mkcommit aa
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
57
5208
e0885e2abf59 tests: merge two tests about split changesets
Manuel Jacob <me@manueljacob.de>
parents: 5207
diff changeset
58 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
59 $ printf "oo" > oo;
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
60 $ printf "pp" > pp;
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
61 $ printf "qq" > qq;
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
62 $ 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
63 $ 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
64 $ mkcommit uu
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
65 $ hg up 0
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
66 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
67 $ printf "oo" > oo;
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
68 $ hg add oo
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
69 $ hg commit -m "_oo"
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
70 created new head
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
71 $ hg up 0
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
72 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
73 $ printf "pp" > pp;
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
74 $ hg add pp
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
75 $ hg commit -m "_pp"
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
76 created new head
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
77 $ hg merge 3
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
78 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
79 (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
80 $ 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
81 $ printf "qq" > qq;
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
82 $ hg add qq
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
83 $ hg commit -m "_qq"
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
84 $ 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
85 1 changesets pruned
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
86 1 new orphan changesets
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
87 $ hg log -G
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
88 @ 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
89 |
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
90 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
91 |\
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
92 | 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
93 | |
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
94 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
95 |/
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
96 | * 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
97 | |
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
98 | 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
99 |/
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
100 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
101
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
102 $ hg evolve --rev "0::"
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
103 move:[2] add uu
a5876853ba15 evolve: support successors of ancestor of orphan with multiple roots
Manuel Jacob <me@manueljacob.de>
parents: 5206
diff changeset
104 atop:[6] _qq