annotate tests/test-evolve-order.t @ 5800:668817e8c007

rewind: walk obsmarkers and add more targets to rewind to We're trying to save users from accidentally losing any content changes if they try to rewind to e.g. only one component of a fold. In such case we're also adding the rest of the components.
author Anton Shestakov <av6@dwimlabs.net>
date Tue, 22 Dec 2020 19:03:59 +0800
parents d60490a28318
children a1dad44fe3da
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
5079
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4577
diff changeset
18 > [experimental]
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4577
diff changeset
19 > evolution.allowdivergence = True
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
20 > [extensions]
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
21 > EOF
1806
9f42f819267b evolve: move the extensions to 'hgext3rd'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1641
diff changeset
22 $ 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
23 $ mkcommit() {
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
24 > echo "$1" > "$1"
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
25 > hg add "$1"
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
26 > hg ci -m "add $1"
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 $ mkstack() {
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
30 > # 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
31 > hg update "$1" -C
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
32 > shift
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
33 > mkcommits $*
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
34 > }
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
35
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
36 $ mkcommits() {
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
37 > for i in $@; do mkcommit $i ; done
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
38 > }
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
39
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
40 Initial setup
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
41 $ hg init testrevorder
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
42 $ cd testrevorder
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
43 $ mkcommits p _a _b _c
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
44 $ hg phase --public 0
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
45 $ hg up 'desc(_a)'
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
46 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
47 $ echo "aaa" > _a
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
48 $ hg amend
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
49 2 new orphan changesets
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
50 $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
51 @ 4:12d519679175@default(draft) add _a
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 | * 3:4d156641b718@default(draft) add _c
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
54 | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
55 | * 2:4d7242ebb004@default(draft) add _b
1369
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 | x 1:2d73fcd7f07d@default(draft) add _a
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 o 0:f92638be10c7@default(public) add p
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
60
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
61
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
62 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
63 $ hg evolve --rev 'desc(_c) + desc(_b)'
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
64 move:[2] add _b
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
65 atop:[4] add _a
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
66 move:[3] add _c
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
67
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
68 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
69 accross three stacks in growing rev numbers.
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
70 $ 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
71 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
72 $ mkcommit _d
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
73 $ hg up "desc(_a)"
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
74 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
75 $ hg amend -m "aprime"
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
76 3 new orphan changesets
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
77 $ 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
78 move:[5] add _b
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
79 atop:[8] aprime
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
80 $ 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
81 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
82 $ hg amend -m "bprime"
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
83 $ hg up "desc(aprime)"
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
84 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
85 $ hg amend -m "asecond"
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
86 1 new orphan changesets
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
87 $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
88 @ 11:9a584314f3f3@default(draft) asecond
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
89 |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
90 | * 10:a59c79776f7c@default(draft) bprime
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
91 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
92 | x 8:81a687b96d4d@default(draft) aprime
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 | * 7:464731bc0ed0@default(draft) add _d
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
95 | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
96 | * 6:52b8f9b04f83@default(draft) add _c
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 5:59476c3836ef@default(draft) add _b
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
99 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
100 | x 4:12d519679175@default(draft) add _a
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
101 |/
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
102 o 0:f92638be10c7@default(public) add p
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
103
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
104 $ 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
105 move:[10] bprime
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
106 atop:[11] asecond
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
107 move:[6] add _c
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
108 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
109 working directory is now at 739f18ac1d03
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
110 $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
111 @ 14:739f18ac1d03@default(draft) add _d
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 13:e5960578d158@default(draft) add _c
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 12:4ad33fa88946@default(draft) bprime
1369
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
116 |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
117 o 11:9a584314f3f3@default(draft) asecond
1369
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 o 0:f92638be10c7@default(public) add p
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
120
4ed67cce8c23 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
121
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
122 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
123 partially solvable
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
124
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
125 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
126 $ 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
127 $ 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
128 $ 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
129 $ 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
130 1 changesets pruned
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
131 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
132 $ 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
133 1 changesets pruned
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
134 $ 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
135 1 changesets pruned
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
136 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
137 $ 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
138 @ 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
139 |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
140 | * 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
141 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
142 | 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
143 |/
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
144 | * 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
145 | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
146 | * 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
147 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
148 | 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
149 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
150 | 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
151 |/
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
152 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
153 |
1641
27445da063b7 tests: adapt output to the new graphlog style
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1510
diff changeset
154 ~
1370
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 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
157 $ 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
158 $ 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
159 $ 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
160 1 changesets pruned
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
161 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
162 $ 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
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 $ 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
165 1 changesets pruned
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
166
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
167 $ 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
168 @ 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
169 |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
170 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
171 |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
172 | * 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
173 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
174 | 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
175 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
176 | 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
177 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
178 | 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
179 |/
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
180 | 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
181 |/
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
182 | * 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
183 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
184 | 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
185 |/
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
186 | * 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
187 | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
188 | * 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
189 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
190 | 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
191 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
192 | 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
193 |/
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
194 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
195 |
1641
27445da063b7 tests: adapt output to the new graphlog style
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1510
diff changeset
196 ~
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
197
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
198 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
199 $ 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
200 (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
201 $ hg evolve --rev "(desc(_d)::) - desc(c3_)"
5477
d60490a28318 evolve: improve warning msg when skipping orphan resolution
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 5079
diff changeset
202 skipping d096a2437fd0, consider including orphan ancestors
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
203 move:[20] add c2prime
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
204 atop:[21] add c1second
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
205 move:[25] add b4_
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
206 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
207
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
208 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
209 $ 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
210 move:[17] add c3_
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
211 atop:[28] add c2prime
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
212 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
213 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
214 $ 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
215 @ 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
216 |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
217 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
218 |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
219 | 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
220 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
221 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
222 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
223 | 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
224 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
225 | 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
226 | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
227 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
228 |/
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
229 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
230 |
1641
27445da063b7 tests: adapt output to the new graphlog style
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1510
diff changeset
231 ~
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
232
4455
b58e45aa9be2 test: use 'split' instead of 'splitted' in the tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4122
diff changeset
233 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
234 ---------------------------------------------------------------------
1370
0799c5831a3d evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com>
parents: 1369
diff changeset
235
1408
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
236 $ hg up 'desc(c2prime)'
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
237 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
238 $ mkcommit c3part1
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
239 created new head
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
240 $ hg prev
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
241 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
242 [28] add c2prime
1408
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
243 $ mkcommit c3part2
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
244 created new head
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
245 $ hg prune -s 'desc(c3part1)' 'desc(c3_)'
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
246 1 changesets pruned
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
247 1 new orphan changesets
1408
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
248 $ hg prune -s 'desc(c3part2)' 'desc(c3_)'
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
249 1 changesets pruned
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
250 2 new content-divergent changesets
1408
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
251 $ hg up 'desc(b3prime)'
b3afdc0815d0 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
252 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
253 $ hg amend -m 'b3second'
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
254 1 new orphan changesets
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
255 $ hg evolve --rev "orphan()"
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
256 move:[29] add b4_
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
257 atop:[34] b3second
1510
b86eea66ed02 evolve: be more complete about copying extra from old revisions
Augie Fackler <raf@durin42.com>
parents: 1412
diff changeset
258 skipping 0b9488394e89: divergent rewriting. can't choose destination