diff -r 4ed67cce8c23 -r 0799c5831a3d tests/test-evolve-order.t --- a/tests/test-evolve-order.t Tue Jun 16 14:30:43 2015 -0700 +++ b/tests/test-evolve-order.t Tue Jun 16 14:49:28 2015 -0700 @@ -27,15 +27,11 @@ $ mkstack() { > # Creates a stack of commit based on $1 with messages from $2, $3 .. - > hg update $1 -C + > hg update "$1" -C > shift > mkcommits $* > } - $ shaof() { - > hg log -T {node} -r "first(desc($1))" - > } - $ mkcommits() { > for i in $@; do mkcommit $i ; done > } @@ -74,7 +70,7 @@ accross three stacks in growing rev numbers. $ hg up "desc(_c)" 0 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ mkcommit d + $ mkcommit _d $ hg up "desc(_a)" 0 files updated, 0 files merged, 3 files removed, 0 files unresolved $ hg amend -m "aprime" @@ -97,7 +93,7 @@ | | | x 9:81a687b96d4d@default(draft) aprime |/ - | o 8:2d86cc7ec3a9@default(draft) add d + | o 8:464731bc0ed0@default(draft) add _d | | | o 7:52b8f9b04f83@default(draft) add _c | | @@ -112,11 +108,11 @@ atop:[12] asecond move:[7] add _c atop:[13] bprime - move:[8] add d + move:[8] add _d atop:[14] add _c - working directory is now at fd447ba1b20b + working directory is now at 225d2cc5d3fc $ hg log -G - @ 15:fd447ba1b20b@default(draft) add d + @ 15:225d2cc5d3fc@default(draft) add _d | o 14:0fc229278e4d@default(draft) add _c | @@ -127,3 +123,115 @@ o 0:f92638be10c7@default(public) add p +Evolve --rev more complex case: two sets of stacks one with prune an no successor, the other one +partially solvable + +First set of stack: + $ mkstack "desc(_d)" c1_ c2_ c3_ c4_ >/dev/null + $ mkstack "desc(_d)" c1prime c2prime >/dev/null + $ mkstack "desc(_d)" c1second >/dev/null + $ hg prune "desc(c1_)" -s "desc(c1prime)" + 1 changesets pruned + 3 new unstable changesets + $ hg prune "desc(c2_)" -s "desc(c2prime)" + 1 changesets pruned + $ hg prune "desc(c1prime)" -s "desc(c1second)" + 1 changesets pruned + 1 new unstable changesets + $ hg log -G -r "desc(_d)::" + @ 22:a329855d0bc1@default(draft) add c1second + | + | o 21:072276ece1bf@default(draft) add c2prime + | | + | x 20:f137acd06692@default(draft) add c1prime + |/ + | o 19:0a1d9b2ce733@default(draft) add c4_ + | | + | o 18:e2874f41c56c@default(draft) add c3_ + | | + | x 17:3247c33339fa@default(draft) add c2_ + | | + | x 16:df322257c182@default(draft) add c1_ + |/ + o 15:225d2cc5d3fc@default(draft) add _d + | + +Second set of stack with no successor for b2_: + $ mkstack "desc(_d)" b1_ b2_ b3_ b4_ >/dev/null + $ mkstack "desc(_d)" b1prime b3prime >/dev/null + $ hg prune "desc(b1_)" -s "desc(b1prime)" + 1 changesets pruned + 3 new unstable changesets + $ hg prune "desc(b3_)" -s "desc(b3prime)" + 1 changesets pruned + $ hg prune "desc(b2_)" + 1 changesets pruned + + $ hg log -G -r "desc(_d)::" + @ 28:ba4c348b6d5e@default(draft) add b3prime + | + o 27:8fe985f5d0aa@default(draft) add b1prime + | + | o 26:1d9ba2e75c93@default(draft) add b4_ + | | + | x 25:aec6a9657b6c@default(draft) add b3_ + | | + | x 24:a69b58575918@default(draft) add b2_ + | | + | x 23:3564eb18e448@default(draft) add b1_ + |/ + | o 22:a329855d0bc1@default(draft) add c1second + |/ + | o 21:072276ece1bf@default(draft) add c2prime + | | + | x 20:f137acd06692@default(draft) add c1prime + |/ + | o 19:0a1d9b2ce733@default(draft) add c4_ + | | + | o 18:e2874f41c56c@default(draft) add c3_ + | | + | x 17:3247c33339fa@default(draft) add c2_ + | | + | x 16:df322257c182@default(draft) add c1_ + |/ + o 15:225d2cc5d3fc@default(draft) add _d + | + +Solve the full second stack and only part of the first one + $ echo "(desc(_d)::) - desc(c3_)" + (desc(_d)::) - desc(c3_) + $ hg evolve --rev "(desc(_d)::) - desc(c3_)" + cannot solve instability of 0a1d9b2ce733, skipping + move:[21] add c2prime + atop:[22] add c1second + move:[26] add b4_ + atop:[28] add b3prime + working directory is now at 4897c8ed7645 + +Cleanup + $ hg evolve --rev "(desc(_d)::)" + move:[18] add c3_ + atop:[29] add c2prime + move:[19] add c4_ + atop:[31] add c3_ + working directory is now at 4ee8feb52325 + $ hg log -G -r "desc(_d)::" + @ 32:4ee8feb52325@default(draft) add c4_ + | + o 31:08a530ce67e1@default(draft) add c3_ + | + | o 30:4897c8ed7645@default(draft) add b4_ + | | + o | 29:3abc7618dd5f@default(draft) add c2prime + | | + | o 28:ba4c348b6d5e@default(draft) add b3prime + | | + | o 27:8fe985f5d0aa@default(draft) add b1prime + | | + o | 22:a329855d0bc1@default(draft) add c1second + |/ + o 15:225d2cc5d3fc@default(draft) add _d + | + + +