annotate tests/test-evolve-order.t @ 6935:954d7ea5cd67 stable tip

stack: when stack base is obsolete, pick any successor, even if at random There are situations when s0 is obsolete and we also cannot pick just one successor for it to use in stack. In such a case, let's pick the "latest" successor from the first set. We're assuming that obsutil.successorssets() returns data in the same order (it should, since it makes sure to sort data internally). Keeping that in mind, while the successor picked for s0 by this code is not based on any sort of sophisticated logic, it should nonetheless be the same every time. This patch is probably not going to completely break anything that was previously working fine, because the previous behavior was to just abort with an exception.
author Anton Shestakov <av6@dwimlabs.net>
date Sat, 16 Nov 2024 17:01:02 +0400
parents 53d63b608230
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
1 evolve --rev reordering
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
2 -----------------------
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
3
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
4 $ cat >> $HGRCPATH <<EOF
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
5 > [ui]
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
6 > logtemplate = {rev}:{node|short}@{branch}({phase}) {desc|firstline}\n
5079
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4577
diff changeset
7 > [experimental]
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4577
diff changeset
8 > evolution.allowdivergence = True
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
9 > [extensions]
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
10 > EOF
1806
9f42f819267b evolve: move the extensions to 'hgext3rd'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1641
diff changeset
11 $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
12 $ mkcommit() {
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
13 > echo "$1" > "$1"
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
14 > hg add "$1"
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
15 > hg ci -m "add $1"
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
16 > }
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
17
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
18 $ mkstack() {
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
19 > # Creates a stack of commit based on $1 with messages from $2, $3 ..
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
20 > hg update "$1" -C
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
21 > shift
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
22 > mkcommits $*
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
23 > }
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
24
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
25 $ mkcommits() {
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
26 > for i in $@; do mkcommit $i ; done
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
27 > }
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
28
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
29 Initial setup
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
30 $ hg init testrevorder
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
31 $ cd testrevorder
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
32 $ mkcommits p _a _b _c
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
33 $ hg phase --public 0
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
34 $ hg up 'desc(_a)'
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
35 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
36 $ echo "aaa" > _a
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
37 $ hg amend
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
38 2 new orphan changesets
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
39 $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
40 @ 4:12d519679175@default(draft) add _a
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
41 |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
42 | * 3:4d156641b718@default(draft) add _c
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
43 | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
44 | * 2:4d7242ebb004@default(draft) add _b
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
45 | |
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
46 | x 1:2d73fcd7f07d@default(draft) add _a
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
47 |/
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
48 o 0:f92638be10c7@default(public) add p
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
49
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
50
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
51 evolve --rev reorders the rev to solve instability, trivial case 2 revs wrong order
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
52 $ hg evolve --rev 'desc(_c) + desc(_b)'
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
53 move:[2] add _b
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
54 atop:[4] add _a
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
55 move:[3] add _c
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
56
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
57 evolve --rev reorders the rev to solve instability. Harder case, obsolescence
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
58 accross three stacks in growing rev numbers.
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
59 $ hg up "desc(_c)"
4577
bcd52ce0916d evolve: don't update after instability resolution by default (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 4576
diff changeset
60 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
61 $ mkcommit _d
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
62 $ hg up "desc(_a)"
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
63 0 files updated, 0 files merged, 3 files removed, 0 files unresolved
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
64 $ hg amend -m "aprime"
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
65 3 new orphan changesets
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
66 $ hg evolve --rev "desc(_b)"
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
67 move:[5] add _b
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
68 atop:[8] aprime
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
69 $ hg up "desc(_b) - obsolete()"
4577
bcd52ce0916d evolve: don't update after instability resolution by default (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 4576
diff changeset
70 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
71 $ hg amend -m "bprime"
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
72 $ hg up "desc(aprime)"
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
73 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
74 $ hg amend -m "asecond"
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
75 1 new orphan changesets
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
76 $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
77 @ 11:9a584314f3f3@default(draft) asecond
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
78 |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
79 | * 10:a59c79776f7c@default(draft) bprime
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
80 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
81 | x 8:81a687b96d4d@default(draft) aprime
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
82 |/
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
83 | * 7:464731bc0ed0@default(draft) add _d
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
84 | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
85 | * 6:52b8f9b04f83@default(draft) add _c
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
86 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
87 | x 5:59476c3836ef@default(draft) add _b
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
88 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
89 | x 4:12d519679175@default(draft) add _a
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
90 |/
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
91 o 0:f92638be10c7@default(public) add p
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
92
4576
96ce1030d2fb tests: add --update to hg evolve to reduce test changes for the next patch
Anton Shestakov <av6@dwimlabs.net>
parents: 4455
diff changeset
93 $ hg evolve --rev "orphan()" --update
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
94 move:[10] bprime
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
95 atop:[11] asecond
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
96 move:[6] add _c
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
97 move:[7] add _d
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
98 working directory is now at 225d2cc5d3fc
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
99 $ hg log -G
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
100 @ 14:225d2cc5d3fc@default(draft) add _d
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
101 |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
102 o 13:0fc229278e4d@default(draft) add _c
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
103 |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
104 o 12:c3741b9eafae@default(draft) bprime
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
105 |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
106 o 11:9a584314f3f3@default(draft) asecond
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
107 |
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
108 o 0:f92638be10c7@default(public) add p
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
109
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
110
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
111 Evolve --rev more complex case: two sets of stacks one with prune an no successor, the other one
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
112 partially solvable
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
113
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
114 First set of stack:
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
115 $ mkstack "desc(_d)" c1_ c2_ c3_ c4_ >/dev/null
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
116 $ mkstack "desc(_d)" c1prime c2prime >/dev/null
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
117 $ mkstack "desc(_d)" c1second >/dev/null
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
118 $ hg prune "desc(c1_)" -s "desc(c1prime)"
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
119 1 changesets pruned
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
120 3 new orphan changesets
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
121 $ hg prune "desc(c2_)" -s "desc(c2prime)"
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
122 1 changesets pruned
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
123 $ hg prune "desc(c1prime)" -s "desc(c1second)"
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
124 1 changesets pruned
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
125 1 new orphan changesets
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
126 $ hg log -G -r "desc(_d)::"
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
127 @ 21:a329855d0bc1@default(draft) add c1second
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
128 |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
129 | * 20:072276ece1bf@default(draft) add c2prime
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
130 | |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
131 | x 19:f137acd06692@default(draft) add c1prime
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
132 |/
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
133 | * 18:0a1d9b2ce733@default(draft) add c4_
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
134 | |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
135 | * 17:e2874f41c56c@default(draft) add c3_
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
136 | |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
137 | x 16:3247c33339fa@default(draft) add c2_
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
138 | |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
139 | x 15:df322257c182@default(draft) add c1_
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
140 |/
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
141 o 14:225d2cc5d3fc@default(draft) add _d
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
142 |
1641
27445da063b7 tests: adapt output to the new graphlog style
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1510
diff changeset
143 ~
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
144
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
145 Second set of stack with no successor for b2_:
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
146 $ mkstack "desc(_d)" b1_ b2_ b3_ b4_ >/dev/null
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
147 $ mkstack "desc(_d)" b1prime b3prime >/dev/null
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
148 $ hg prune "desc(b1_)" -s "desc(b1prime)"
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
149 1 changesets pruned
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
150 3 new orphan changesets
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
151 $ hg prune "desc(b3_)" -s "desc(b3prime)"
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
152 1 changesets pruned
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
153 $ hg prune "desc(b2_)"
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
154 1 changesets pruned
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
155
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
156 $ hg log -G -r "desc(_d)::"
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
157 @ 27:ba4c348b6d5e@default(draft) add b3prime
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
158 |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
159 o 26:8fe985f5d0aa@default(draft) add b1prime
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
160 |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
161 | * 25:1d9ba2e75c93@default(draft) add b4_
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
162 | |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
163 | x 24:aec6a9657b6c@default(draft) add b3_
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
164 | |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
165 | x 23:a69b58575918@default(draft) add b2_
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
166 | |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
167 | x 22:3564eb18e448@default(draft) add b1_
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
168 |/
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
169 | o 21:a329855d0bc1@default(draft) add c1second
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
170 |/
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
171 | * 20:072276ece1bf@default(draft) add c2prime
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
172 | |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
173 | x 19:f137acd06692@default(draft) add c1prime
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
174 |/
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
175 | * 18:0a1d9b2ce733@default(draft) add c4_
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
176 | |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
177 | * 17:e2874f41c56c@default(draft) add c3_
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
178 | |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
179 | x 16:3247c33339fa@default(draft) add c2_
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
180 | |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
181 | x 15:df322257c182@default(draft) add c1_
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
182 |/
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
183 o 14:225d2cc5d3fc@default(draft) add _d
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
184 |
1641
27445da063b7 tests: adapt output to the new graphlog style
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1510
diff changeset
185 ~
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
186
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
187 Solve the full second stack and only part of the first one
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
188 $ echo "(desc(_d)::) - desc(c3_)"
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
189 (desc(_d)::) - desc(c3_)
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
190 $ hg evolve --rev "(desc(_d)::) - desc(c3_)"
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
191 skipping 0a1d9b2ce733, consider including orphan ancestors
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
192 move:[20] add c2prime
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
193 atop:[21] add c1second
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
194 move:[25] add b4_
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
195 atop:[27] add b3prime
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
196
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
197 Cleanup
4576
96ce1030d2fb tests: add --update to hg evolve to reduce test changes for the next patch
Anton Shestakov <av6@dwimlabs.net>
parents: 4455
diff changeset
198 $ hg evolve --rev "(desc(_d)::)" --update
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
199 move:[17] add c3_
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
200 atop:[28] add c2prime
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
201 move:[18] add c4_
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
202 working directory is now at 4ee8feb52325
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
203 $ hg log -G -r "desc(_d)::"
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
204 @ 31:4ee8feb52325@default(draft) add c4_
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
205 |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
206 o 30:08a530ce67e1@default(draft) add c3_
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
207 |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
208 | o 29:4897c8ed7645@default(draft) add b4_
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
209 | |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
210 o | 28:3abc7618dd5f@default(draft) add c2prime
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
211 | |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
212 | o 27:ba4c348b6d5e@default(draft) add b3prime
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
213 | |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
214 | o 26:8fe985f5d0aa@default(draft) add b1prime
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
215 | |
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
216 o | 21:a329855d0bc1@default(draft) add c1second
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
217 |/
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
218 o 14:225d2cc5d3fc@default(draft) add _d
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
219 |
1641
27445da063b7 tests: adapt output to the new graphlog style
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1510
diff changeset
220 ~
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
221
4455
b58e45aa9be2 test: use 'split' instead of 'splitted' in the tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4122
diff changeset
222 Test multiple revision with some un-evolvable because parent is split
b58e45aa9be2 test: use 'split' instead of 'splitted' in the tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4122
diff changeset
223 ---------------------------------------------------------------------
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
224
1408
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
225 $ hg up 'desc(c2prime)'
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
226 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
227 $ mkcommit c3part1
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
228 created new head
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
229 $ hg prev
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
230 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
231 [28] add c2prime
1408
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
232 $ mkcommit c3part2
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
233 created new head
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
234 $ hg prune -s 'desc(c3part1)' 'desc(c3_)'
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
235 1 changesets pruned
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
236 1 new orphan changesets
1408
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
237 $ hg prune -s 'desc(c3part2)' 'desc(c3_)'
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
238 1 changesets pruned
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
239 2 new content-divergent changesets
1408
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
240 $ hg up 'desc(b3prime)'
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
241 2 files updated, 0 files merged, 3 files removed, 0 files unresolved
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
242 $ hg amend -m 'b3second'
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
243 1 new orphan changesets
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
244 $ hg evolve --rev "orphan()"
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
245 move:[29] add b4_
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
246 atop:[34] b3second
6317
53d63b608230 evolve: stop preserving all of {extras} for uninterrupted evolve operations
Matt Harbison <matt_harbison@yahoo.com>
parents: 5816
diff changeset
247 skipping 08a530ce67e1: divergent rewriting. can't choose destination