annotate tests/test-evolve-order.t @ 4722:7839720c7c75

rewind: make sure merge commits include files from p1 and p2 Otherwise rewinding a merge commit makes it lose all changes. This fix populates `updates` argument of rewriteutil.rewrite() with parent changesets. That argument is normally used for folding multiple changesets, but in this case it's simply used to include files from p1 and p2. Usually, rewrite() works fine using ctx.files(), but that function can return an empty list when ctx is a merge commit.
author Anton Shestakov <av6@dwimlabs.net>
date Thu, 11 Jul 2019 17:04:08 +0800
parents bcd52ce0916d
children 79bc0f1a832e 1f92a6aa40d6
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 > [defaults]
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
6 > amend=-d "0 0"
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
7 > fold=-d "0 0"
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
8 > [web]
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
9 > push_ssl = false
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
10 > allow_push = *
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
11 > [phases]
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
12 > publish = False
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
13 > [diff]
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
14 > git = 1
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
15 > unified = 0
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
16 > [ui]
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
17 > logtemplate = {rev}:{node|short}@{branch}({phase}) {desc|firstline}\n
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
18 > [extensions]
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
19 > EOF
1806
9f42f819267b evolve: move the extensions to 'hgext3rd'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1641
diff changeset
20 $ 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
21 $ mkcommit() {
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
22 > echo "$1" > "$1"
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
23 > hg add "$1"
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
24 > hg ci -m "add $1"
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
25 > }
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
26
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
27 $ mkstack() {
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
28 > # 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
29 > hg update "$1" -C
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
30 > shift
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
31 > mkcommits $*
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
32 > }
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
33
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
34 $ mkcommits() {
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
35 > for i in $@; do mkcommit $i ; done
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
36 > }
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
37
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
38 Initial setup
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
39 $ hg init testrevorder
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
40 $ cd testrevorder
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
41 $ mkcommits p _a _b _c
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
42 $ hg phase --public 0
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
43 $ hg up 'desc(_a)'
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
44 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
45 $ echo "aaa" > _a
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
46 $ hg amend
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
47 2 new orphan changesets
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
48 $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
49 @ 4:12d519679175@default(draft) add _a
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
50 |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
51 | * 3:4d156641b718@default(draft) add _c
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
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:4d7242ebb004@default(draft) add _b
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
54 | |
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
55 | x 1:2d73fcd7f07d@default(draft) add _a
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 o 0:f92638be10c7@default(public) add p
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
58
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
59
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
60 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
61 $ hg evolve --rev 'desc(_c) + desc(_b)'
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
62 move:[2] add _b
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
63 atop:[4] add _a
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
64 move:[3] add _c
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
65
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
66 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
67 accross three stacks in growing rev numbers.
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
68 $ 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
69 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
70 $ mkcommit _d
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
71 $ hg up "desc(_a)"
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
72 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
73 $ hg amend -m "aprime"
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
74 3 new orphan changesets
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
75 $ 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
76 move:[5] add _b
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
77 atop:[8] aprime
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
78 $ 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
79 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
80 $ hg amend -m "bprime"
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
81 $ hg up "desc(aprime)"
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
82 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
83 $ hg amend -m "asecond"
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
84 1 new orphan changesets
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
85 $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
86 @ 11:9a584314f3f3@default(draft) asecond
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
87 |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
88 | * 10:a59c79776f7c@default(draft) bprime
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
89 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
90 | x 8:81a687b96d4d@default(draft) aprime
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
91 |/
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
92 | * 7:464731bc0ed0@default(draft) add _d
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
93 | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
94 | * 6:52b8f9b04f83@default(draft) add _c
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
95 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
96 | x 5:59476c3836ef@default(draft) add _b
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
97 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
98 | x 4:12d519679175@default(draft) add _a
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
99 |/
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
100 o 0:f92638be10c7@default(public) add p
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
101
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
102 $ 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
103 move:[10] bprime
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
104 atop:[11] asecond
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
105 move:[6] add _c
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
106 move:[7] add _d
1510
b86eea66ed02 evolve: be more complete about copying extra from old revisions
Augie Fackler <raf@durin42.com>
parents: 1412
diff changeset
107 working directory is now at 739f18ac1d03
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
108 $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
109 @ 14:739f18ac1d03@default(draft) add _d
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
110 |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
111 o 13:e5960578d158@default(draft) add _c
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
112 |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
113 o 12:4ad33fa88946@default(draft) bprime
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
114 |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
115 o 11:9a584314f3f3@default(draft) asecond
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
116 |
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
117 o 0:f92638be10c7@default(public) add p
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
118
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
119
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
120 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
121 partially solvable
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
122
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
123 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
124 $ 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
125 $ 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
126 $ 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
127 $ 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
128 1 changesets pruned
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
129 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
130 $ 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
131 1 changesets pruned
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
132 $ 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
133 1 changesets pruned
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
134 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
135 $ hg log -G -r "desc(_d)::"
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
136 @ 21:dcf786e878fd@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
137 |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
138 | * 20:507d52d715f6@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
139 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
140 | x 19:c995cb124ddc@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
141 |/
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
142 | * 18:d096a2437fd0@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
143 | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
144 | * 17:cde95c6cba7a@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
145 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
146 | x 16:e0d9f7a099fe@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
147 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
148 | x 15:43b7c338b1f8@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
149 |/
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
150 o 14:739f18ac1d03@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
151 |
1641
27445da063b7 tests: adapt output to the new graphlog style
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1510
diff changeset
152 ~
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
153
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
154 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
155 $ 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
156 $ 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
157 $ 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
158 1 changesets pruned
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
159 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
160 $ 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
161 1 changesets pruned
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
162 $ 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
163 1 changesets pruned
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
164
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
165 $ hg log -G -r "desc(_d)::"
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
166 @ 27:b253ff5b65d1@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
167 |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
168 o 26:4acf61f11dfb@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
169 |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
170 | * 25:594e1fbbd61f@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
171 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
172 | x 24:be27500cfc76@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
173 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
174 | x 23:b54f77dc5831@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
175 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
176 | x 22:0e1eba27e9aa@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
177 |/
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
178 | o 21:dcf786e878fd@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
179 |/
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
180 | * 20:507d52d715f6@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
181 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
182 | x 19:c995cb124ddc@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
183 |/
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
184 | * 18:d096a2437fd0@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
185 | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
186 | * 17:cde95c6cba7a@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
187 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
188 | x 16:e0d9f7a099fe@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
189 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
190 | x 15:43b7c338b1f8@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
191 |/
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
192 o 14:739f18ac1d03@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
193 |
1641
27445da063b7 tests: adapt output to the new graphlog style
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1510
diff changeset
194 ~
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
195
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
196 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
197 $ 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
198 (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
199 $ hg evolve --rev "(desc(_d)::) - desc(c3_)"
1510
b86eea66ed02 evolve: be more complete about copying extra from old revisions
Augie Fackler <raf@durin42.com>
parents: 1412
diff changeset
200 cannot solve instability of d096a2437fd0, skipping
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
201 move:[20] add c2prime
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
202 atop:[21] add c1second
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
203 move:[25] add b4_
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
204 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
205
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
206 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
207 $ 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
208 move:[17] add c3_
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
209 atop:[28] add c2prime
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
210 move:[18] add c4_
1510
b86eea66ed02 evolve: be more complete about copying extra from old revisions
Augie Fackler <raf@durin42.com>
parents: 1412
diff changeset
211 working directory is now at 35e7b797ace5
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
212 $ hg log -G -r "desc(_d)::"
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
213 @ 31:35e7b797ace5@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
214 |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
215 o 30:0b9488394e89@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
216 |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
217 | o 29:ea93190a9cd1@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
218 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
219 o | 28:881b9c092e53@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
220 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
221 | o 27:b253ff5b65d1@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
222 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
223 | o 26:4acf61f11dfb@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
224 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
225 o | 21:dcf786e878fd@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
226 |/
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
227 o 14:739f18ac1d03@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
228 |
1641
27445da063b7 tests: adapt output to the new graphlog style
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1510
diff changeset
229 ~
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
230
4455
b58e45aa9be2 test: use 'split' instead of 'splitted' in the tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4122
diff changeset
231 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
232 ---------------------------------------------------------------------
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
233
1408
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
234 $ hg up 'desc(c2prime)'
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
235 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
236 $ mkcommit c3part1
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
237 created new head
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
238 $ hg prev
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
239 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
240 [28] add c2prime
1408
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
241 $ mkcommit c3part2
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
242 created new head
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
243 $ hg prune -s 'desc(c3part1)' 'desc(c3_)'
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
244 1 changesets pruned
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
245 1 new orphan changesets
1408
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
246 $ hg prune -s 'desc(c3part2)' 'desc(c3_)'
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
247 1 changesets pruned
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
248 2 new content-divergent changesets
1408
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
249 $ hg up 'desc(b3prime)'
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
250 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
251 $ hg amend -m 'b3second'
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
252 1 new orphan changesets
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
253 $ hg evolve --rev "orphan()"
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
254 move:[29] add b4_
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
255 atop:[34] b3second
1510
b86eea66ed02 evolve: be more complete about copying extra from old revisions
Augie Fackler <raf@durin42.com>
parents: 1412
diff changeset
256 skipping 0b9488394e89: divergent rewriting. can't choose destination