annotate tests/test-unstable.t @ 1639:ff0ff0f28a13

evolve: report merge node When running evolve --any, evolve will report that it can not handle a merge node. In order for this to be helpful, we report the revision so that a user could fix t.
author timeless@gmail.com
date Thu, 14 Apr 2016 15:03:18 +0000
parents 5b7596805f7f
children 093c445fd86a 9f42f819267b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1479
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
1 $ cat >> $HGRCPATH <<EOF
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
2 > [defaults]
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
3 > amend=-d "0 0"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
4 > fold=-d "0 0"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
5 > [web]
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
6 > push_ssl = false
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
7 > allow_push = *
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
8 > [phases]
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
9 > publish = False
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
10 > [diff]
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
11 > git = 1
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
12 > unified = 0
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
13 > [ui]
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
14 > logtemplate = {rev}:{node|short}@{branch}({phase}) {desc|firstline}\n
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
15 > [extensions]
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
16 > hgext.graphlog=
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
17 > EOF
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
18 $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext/evolve.py" >> $HGRCPATH
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
19 $ mkcommit() {
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
20 > echo "$1" > "$1"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
21 > hg add "$1"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
22 > hg ci -m "add $1"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
23 > }
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
24
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
25 $ mkstack() {
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
26 > # Creates a stack of commit based on $1 with messages from $2, $3 ..
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
27 > hg update "$1" -C
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
28 > shift
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
29 > mkcommits $*
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
30 > }
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
31
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
32 $ mkcommits() {
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
33 > for i in $@; do mkcommit $i ; done
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
34 > }
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
35
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
36 ==============================================================================
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
37 Test instability resolution for a changeset unstable because its parent
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
38 is obsolete with one successor
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
39 ==============================================================================
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
40 $ hg init test1
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
41 $ cd test1
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
42 $ mkcommits _a _b _c
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
43 $ hg up "desc(_b)"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
44 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
45 $ hg amend -m "bprime"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
46 1 new unstable changesets
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
47 $ hg log -G
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
48 @ 3:36050226a9b9@default(draft) bprime
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
49 |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
50 | o 2:102002290587@default(draft) add _c
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
51 | |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
52 | x 1:37445b16603b@default(draft) add _b
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
53 |/
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
54 o 0:135f39f4bd78@default(draft) add _a
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
55
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
56
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
57 $ hg evo --all --any --unstable
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
58 move:[2] add _c
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
59 atop:[3] bprime
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
60 working directory is now at fdcf3523a74d
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
61 $ hg log -G
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
62 @ 4:fdcf3523a74d@default(draft) add _c
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
63 |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
64 o 3:36050226a9b9@default(draft) bprime
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
65 |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
66 o 0:135f39f4bd78@default(draft) add _a
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
67
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
68
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
69 $ cd ..
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
70
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
71 ===============================================================================
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
72 Test instability resolution for a merge changeset unstable because one
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
73 of its parent is obsolete
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
74 Not supported yet
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
75 ==============================================================================
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
76
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
77 $ hg init test2
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
78 $ cd test2
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
79 $ mkcommit base
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
80 $ mkcommits _a
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
81 $ hg up "desc(base)"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
82 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
83 $ mkcommit _c
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
84 created new head
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
85 $ hg merge "desc(_a)" >/dev/null
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
86 $ hg commit -m "merge"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
87 $ hg up "desc(_a)"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
88 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
89 $ hg amend -m "aprime"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
90 1 new unstable changesets
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
91 $ hg log -G
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
92 @ 4:47127ea62e5f@default(draft) aprime
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
93 |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
94 | o 3:6b4280e33286@default(draft) merge
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
95 | |\
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
96 +---o 2:474da87dd33b@default(draft) add _c
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
97 | |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
98 | x 1:b3264cec9506@default(draft) add _a
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
99 |/
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
100 o 0:b4952fcf48cf@default(draft) add base
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
101
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
102
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
103 $ hg evo --all --any --unstable
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
104 move:[3] merge
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
105 atop:[4] aprime
1576
526253198860 evolve: handle merge commit with single obsolete parent (issue4389)
Andrew Halberstadt <ahalberstadt@mozilla.com>
parents: 1481
diff changeset
106 working directory is now at 0bf3f3a59c8c
1479
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
107 $ hg log -G
1576
526253198860 evolve: handle merge commit with single obsolete parent (issue4389)
Andrew Halberstadt <ahalberstadt@mozilla.com>
parents: 1481
diff changeset
108 @ 5:0bf3f3a59c8c@default(draft) merge
526253198860 evolve: handle merge commit with single obsolete parent (issue4389)
Andrew Halberstadt <ahalberstadt@mozilla.com>
parents: 1481
diff changeset
109 |\
526253198860 evolve: handle merge commit with single obsolete parent (issue4389)
Andrew Halberstadt <ahalberstadt@mozilla.com>
parents: 1481
diff changeset
110 | o 4:47127ea62e5f@default(draft) aprime
1479
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
111 | |
1576
526253198860 evolve: handle merge commit with single obsolete parent (issue4389)
Andrew Halberstadt <ahalberstadt@mozilla.com>
parents: 1481
diff changeset
112 o | 2:474da87dd33b@default(draft) add _c
1479
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
113 |/
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
114 o 0:b4952fcf48cf@default(draft) add base
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
115
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
116
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
117 $ cd ..
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
118
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
119 ===============================================================================
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
120 Test instability resolution for a merge changeset unstable because both
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
121 of its parent are obsolete
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
122 Not supported yet
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
123 ==============================================================================
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
124
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
125 $ hg init test3
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
126 $ cd test3
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
127 $ mkcommit base
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
128 $ mkcommits _a
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
129 $ hg up "desc(base)"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
130 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
131 $ mkcommit _c
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
132 created new head
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
133 $ hg merge "desc(_a)" >/dev/null
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
134 $ hg commit -m "merge"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
135 $ hg up "desc(_a)"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
136 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
137 $ hg amend -m "aprime"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
138 1 new unstable changesets
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
139 $ hg up "desc(_c)"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
140 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
141 $ hg amend -m "cprime"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
142 $ hg log -G
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
143 @ 5:2db39fda7e2f@default(draft) cprime
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
144 |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
145 | o 4:47127ea62e5f@default(draft) aprime
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
146 |/
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
147 | o 3:6b4280e33286@default(draft) merge
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
148 | |\
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
149 +---x 2:474da87dd33b@default(draft) add _c
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
150 | |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
151 | x 1:b3264cec9506@default(draft) add _a
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
152 |/
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
153 o 0:b4952fcf48cf@default(draft) add base
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
154
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
155
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
156 $ hg evo --all --any --unstable
1638
5b7596805f7f evolve: treat no support as non fatal
timeless@gmail.com
parents: 1576
diff changeset
157 warning: no support for evolving merge changesets with two obsolete parents yet
1639
ff0ff0f28a13 evolve: report merge node
timeless@gmail.com
parents: 1638
diff changeset
158 (Redo the merge (6b4280e33286) and use `hg prune <old> --succ <new>` to obsolete the old one)
1479
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
159 $ hg log -G
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
160 @ 5:2db39fda7e2f@default(draft) cprime
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
161 |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
162 | o 4:47127ea62e5f@default(draft) aprime
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
163 |/
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
164 | o 3:6b4280e33286@default(draft) merge
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
165 | |\
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
166 +---x 2:474da87dd33b@default(draft) add _c
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
167 | |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
168 | x 1:b3264cec9506@default(draft) add _a
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
169 |/
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
170 o 0:b4952fcf48cf@default(draft) add base
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
171
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
172
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
173 $ cd ..
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
174
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
175 ===============================================================================
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
176 Test instability resolution for a changeset unstable because its parent
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
177 is obsolete with multiple successors all in one chain (simple split)
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
178 ==============================================================================
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
179
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
180 $ hg init test4
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
181 $ cd test4
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
182 $ mkcommits _a _b _c
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
183 $ hg up "desc(_a)"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
184 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
185 $ mkcommits bprimesplit1 bprimesplit2
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
186 created new head
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
187 $ hg prune "desc(_b)" -s "desc(bprimesplit1) + desc(bprimesplit2)" --split
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
188 1 changesets pruned
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
189 1 new unstable changesets
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
190 $ hg log -G
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
191 @ 4:2a4ccc0bb20c@default(draft) add bprimesplit2
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
192 |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
193 o 3:8b87864bd0f4@default(draft) add bprimesplit1
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
194 |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
195 | o 2:102002290587@default(draft) add _c
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
196 | |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
197 | x 1:37445b16603b@default(draft) add _b
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
198 |/
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
199 o 0:135f39f4bd78@default(draft) add _a
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
200
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
201
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
202 $ hg evo --all --any --unstable
1481
3c0aebe73482 evolve: handle split commit for instability
Laurent Charignon <lcharignon@fb.com>
parents: 1479
diff changeset
203 move:[2] add _c
3c0aebe73482 evolve: handle split commit for instability
Laurent Charignon <lcharignon@fb.com>
parents: 1479
diff changeset
204 atop:[4] add bprimesplit2
3c0aebe73482 evolve: handle split commit for instability
Laurent Charignon <lcharignon@fb.com>
parents: 1479
diff changeset
205 working directory is now at 387cc1e837d7
1479
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
206 $ hg log -G
1481
3c0aebe73482 evolve: handle split commit for instability
Laurent Charignon <lcharignon@fb.com>
parents: 1479
diff changeset
207 @ 5:387cc1e837d7@default(draft) add _c
3c0aebe73482 evolve: handle split commit for instability
Laurent Charignon <lcharignon@fb.com>
parents: 1479
diff changeset
208 |
3c0aebe73482 evolve: handle split commit for instability
Laurent Charignon <lcharignon@fb.com>
parents: 1479
diff changeset
209 o 4:2a4ccc0bb20c@default(draft) add bprimesplit2
1479
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
210 |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
211 o 3:8b87864bd0f4@default(draft) add bprimesplit1
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
212 |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
213 o 0:135f39f4bd78@default(draft) add _a
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
214
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
215
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
216
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
217 $ cd ..
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
218
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
219 ===============================================================================
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
220 Test instability resolution for a changeset unstable because its parent
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
221 is obsolete with multiple successors on one branches but in reverse
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
222 order (cross-split).
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
223 ==============================================================================
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
224
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
225 $ hg init test5
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
226 $ cd test5
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
227 $ mkcommits _a _b _c
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
228 $ hg up "desc(_a)"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
229 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
230 $ mkcommits bprimesplit1 bprimesplit2
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
231 created new head
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
232 $ hg prune "desc(_b)" -s "desc(bprimesplit1) + desc(bprimesplit2)" --split
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
233 1 changesets pruned
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
234 1 new unstable changesets
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
235 $ hg up "desc(_a)"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
236 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
237 $ mkcommits bsecondsplit1 bsecondsplit2
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
238 created new head
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
239 $ hg prune "desc(bprimesplit1)" -s "desc(bsecondsplit2)"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
240 1 changesets pruned
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
241 1 new unstable changesets
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
242 $ hg prune "desc(bprimesplit2)" -s "desc(bsecondsplit1)"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
243 1 changesets pruned
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
244 $ hg log -G
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
245 @ 6:59b942dbda14@default(draft) add bsecondsplit2
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
246 |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
247 o 5:8ffdae67d696@default(draft) add bsecondsplit1
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
248 |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
249 | o 2:102002290587@default(draft) add _c
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
250 | |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
251 | x 1:37445b16603b@default(draft) add _b
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
252 |/
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
253 o 0:135f39f4bd78@default(draft) add _a
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
254
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
255
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
256 $ hg evo --all --any --unstable
1481
3c0aebe73482 evolve: handle split commit for instability
Laurent Charignon <lcharignon@fb.com>
parents: 1479
diff changeset
257 move:[2] add _c
3c0aebe73482 evolve: handle split commit for instability
Laurent Charignon <lcharignon@fb.com>
parents: 1479
diff changeset
258 atop:[6] add bsecondsplit2
3c0aebe73482 evolve: handle split commit for instability
Laurent Charignon <lcharignon@fb.com>
parents: 1479
diff changeset
259 working directory is now at 98e3f21461ff
1479
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
260 $ hg log -G
1481
3c0aebe73482 evolve: handle split commit for instability
Laurent Charignon <lcharignon@fb.com>
parents: 1479
diff changeset
261 @ 7:98e3f21461ff@default(draft) add _c
3c0aebe73482 evolve: handle split commit for instability
Laurent Charignon <lcharignon@fb.com>
parents: 1479
diff changeset
262 |
3c0aebe73482 evolve: handle split commit for instability
Laurent Charignon <lcharignon@fb.com>
parents: 1479
diff changeset
263 o 6:59b942dbda14@default(draft) add bsecondsplit2
1479
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
264 |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
265 o 5:8ffdae67d696@default(draft) add bsecondsplit1
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
266 |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
267 o 0:135f39f4bd78@default(draft) add _a
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
268
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
269
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
270
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
271 $ cd ..
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
272
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
273 ===============================================================================
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
274 Test instability resolution for a changeset unstable because its parent
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
275 is obsolete with multiple successors on two branches.
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
276 Not supported yet
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
277 ==============================================================================
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
278
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
279 $ hg init test6
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
280 $ cd test6
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
281 $ mkcommits _a _b _c
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
282 $ hg up "desc(_a)"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
283 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
284 $ mkcommit bprimesplit1
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
285 created new head
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
286 $ hg up "desc(_a)"
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
287 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
288 $ mkcommit bprimesplit2
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
289 created new head
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
290 $ hg prune "desc(_b)" -s "desc(bprimesplit1) + desc(bprimesplit2)" --split
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
291 1 changesets pruned
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
292 1 new unstable changesets
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
293 $ hg log -G
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
294 @ 4:3c69ea6aa93e@default(draft) add bprimesplit2
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
295 |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
296 | o 3:8b87864bd0f4@default(draft) add bprimesplit1
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
297 |/
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
298 | o 2:102002290587@default(draft) add _c
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
299 | |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
300 | x 1:37445b16603b@default(draft) add _b
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
301 |/
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
302 o 0:135f39f4bd78@default(draft) add _a
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
303
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
304
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
305 $ hg evo --all --any --unstable
1481
3c0aebe73482 evolve: handle split commit for instability
Laurent Charignon <lcharignon@fb.com>
parents: 1479
diff changeset
306 cannot solve split accross two branches
1479
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
307 $ hg log -G
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
308 @ 4:3c69ea6aa93e@default(draft) add bprimesplit2
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
309 |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
310 | o 3:8b87864bd0f4@default(draft) add bprimesplit1
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
311 |/
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
312 | o 2:102002290587@default(draft) add _c
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
313 | |
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
314 | x 1:37445b16603b@default(draft) add _b
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
315 |/
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
316 o 0:135f39f4bd78@default(draft) add _a
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
317
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
318
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
319
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
320 $ cd ..
72eab894a89d evolve: add test for instability
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
321