tests: add test of `hg next --evolve` with dirty working directory
I was testing some output change to `hg next --evolve` in dirty working
directory and found that we don't have any test for that.
Testforissue5832presentathttps://bz.mercurial-scm.org/show_bug.cgi?id=5832================================================================================Setup=====$cat>>$HGRCPATH<<EOF>[phases]>publish=False>[alias]>glog=log-GT"{rev}:{node|short}{desc}\n ({bookmarks}) {phase}">[extensions]>EOF$echo"evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/">>$HGRCPATH$hginitissue5832$cdissue5832$echobase>base$hgci-Aqm"added base"$echoa>a$hgci-Aqm"added a"$echob>b$hgci-Aqm"added b"$hgup.^^0filesupdated,0filesmerged,2filesremoved,0filesunresolved$echoc>c$echod>d$hgci-Aqm"added c and d"$hgmerge2filesupdated,0filesmerged,0filesremoved,0filesunresolved(branchmerge,don't forget to commit) $ hg ci -m "merge commit" $ hg glog @ 4:b9b387427a53 merge commit |\ () draft | o 3:9402371b436e added c and d | | () draft o | 2:a1da0651488c added b | | () draft o | 1:1b24879c5c3c added a |/ () draft o 0:bde1d2b6b5e5 added base () draft $ hg up 1b24879c5c3c 0 files updated, 0 files merged, 3 files removed, 0 files unresolved $ echo foo > a $ hg amend 2 new orphan changesets $ hg up bde1d2b6b5e5 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ echo c > c $ hg ci -Aqm "added c" $ hg up .^ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ echo d > d $ hg ci -Aqm "added d" $ hg glog @ 7:5841d7cf9893 added d | () draft | o 6:62fb70414f99 added c |/ () draft | o 5:7014ec2829cd added a |/ () draft | * 4:b9b387427a53 merge commit | |\ () draft +---o 3:9402371b436e added c and d | | () draft | * 2:a1da0651488c added b | | () draft | x 1:1b24879c5c3c added a |/ () draft o 0:bde1d2b6b5e5 added base () draft $ hg prune -r 9402371b436e --succ 62fb70414f99 --succ 5841d7cf9893 --split 1 changesets pruned $ hg glog @ 7:5841d7cf9893 added d | () draft | o 6:62fb70414f99 added c |/ () draft | o 5:7014ec2829cd added a |/ () draft | * 4:b9b387427a53 merge commit | |\ () draft +---x 3:9402371b436e added c and d | | () draft | * 2:a1da0651488c added b | | () draft | x 1:1b24879c5c3c added a |/ () draft o 0:bde1d2b6b5e5 added base () draftChecking what evolve is trying to do $ hg evolve --dry-run --any --all move:[2] added b atop:[5] added a hg rebase -r a1da0651488c -d 7014ec2829cd could not solve instability, ambiguous destination: parent split across two branchesResolving instability using `hg evolve` $ hg evolve --any --all --config ui.interactive=True <<EOF>0>EOFmove:[2]addedbatop:[5]addedamove:[4]mergecommitatop:[8]addedbancestor'7235ef625ea3'splitovermultipletopologicalbranches.chooseanevolvedestination:0:[62fb70414f99]addedc1:[5841d7cf9893]addeddq:quitthepromptentertheindexoftherevisionyouwanttoselect:0move:[9]mergecommitatop:[6]addedcworkingdirectoryisnowat28a0775ac832$hgglog@10:28a0775ac832mergecommit|\ ()draft|o8:2baf8bae7ea4addedb||()draft||o7:5841d7cf9893addedd|||()drafto---+6:62fb70414f99addedc//()drafto/5:7014ec2829cdaddeda|/()drafto0:bde1d2b6b5e5addedbase()draft$cd..Testforissue5833presentathttps://bz.mercurial-scm.org/show_bug.cgi?id=5833===============================================================================$hginitissue5833$cdissue5833$echobase>base$hgci-Aqm"added base"$echoa>a$hgci-Aqm"added a"$echob>b$hgci-Aqm"added b"$hgup.^^0filesupdated,0filesmerged,2filesremoved,0filesunresolved$echoc>c$echod>d$hgci-Aqm"added c and d"$hgmerge2filesupdated,0filesmerged,0filesremoved,0filesunresolved(branchmerge,don't forget to commit) $ hg ci -m "merge commit" $ hg glog @ 4:b9b387427a53 merge commit |\ () draft | o 3:9402371b436e added c and d | | () draft o | 2:a1da0651488c added b | | () draft o | 1:1b24879c5c3c added a |/ () draft o 0:bde1d2b6b5e5 added base () draft $ hg up bde1d2b6b5e5 0 files updated, 0 files merged, 4 files removed, 0 files unresolved $ echo l > l $ hg ci -Aqm "added l" $ hg grab -r 1b24879c5c3c grabbing 1:1b24879c5c3c "added a" 2 new orphan changesets $ hg up bde1d2b6b5e5 0 files updated, 0 files merged, 2 files removed, 0 files unresolved $ echo c > c $ hg ci -Aqm "added c" $ hg up .^ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ echo d > d $ hg ci -Aqm "added d" $ hg glog @ 8:5841d7cf9893 added d | () draft | o 7:62fb70414f99 added c |/ () draft | o 6:5568b87b1491 added a | | () draft | o 5:0a6281e212fe added l |/ () draft | * 4:b9b387427a53 merge commit | |\ () draft +---o 3:9402371b436e added c and d | | () draft | * 2:a1da0651488c added b | | () draft | x 1:1b24879c5c3c added a |/ () draft o 0:bde1d2b6b5e5 added base () draft $ hg prune -r 9402371b436e --succ 5841d7cf9893 --succ 62fb70414f99 --split 1 changesets pruned $ hg glog @ 8:5841d7cf9893 added d | () draft | o 7:62fb70414f99 added c |/ () draft | o 6:5568b87b1491 added a | | () draft | o 5:0a6281e212fe added l |/ () draft | * 4:b9b387427a53 merge commit | |\ () draft +---x 3:9402371b436e added c and d | | () draft | * 2:a1da0651488c added b | | () draft | x 1:1b24879c5c3c added a |/ () draft o 0:bde1d2b6b5e5 added base () draft $ hg evolve --any --all --dry-run move:[2] added b atop:[6] added a hg rebase -r a1da0651488c -d 5568b87b1491 could not solve instability, ambiguous destination: parent split across two branches $ hg evolve --any --all --config ui.interactive=True <<EOF>1>EOFmove:[2]addedbatop:[6]addedamove:[4]mergecommitatop:[9]addedbancestor'cdf2ea1b9312'splitovermultipletopologicalbranches.chooseanevolvedestination:0:[62fb70414f99]addedc1:[5841d7cf9893]addeddq:quitthepromptentertheindexoftherevisionyouwanttoselect:1move:[10]mergecommitatop:[8]addeddworkingdirectoryisnowat460e6e72b7f9$hgglog@11:460e6e72b7f9mergecommit|\ ()draft|o9:da76bb7cd904addedb||()drafto|8:5841d7cf9893addedd||()draft+---o7:62fb70414f99addedc||()draft|o6:5568b87b1491addeda||()draft|o5:0a6281e212feaddedl|/()drafto0:bde1d2b6b5e5addedbase()draft