author | Anton Shestakov <av6@dwimlabs.net> |
Thu, 07 May 2020 01:29:48 +0200 | |
changeset 5349 | e8660b28bfee |
parent 5208 | e0885e2abf59 |
permissions | -rw-r--r-- |
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 |