evolve: further simplify a conditional
The case is simple enough to be handled on its own.
=======================================================Teststheresolutionoforphanchangesets:cornercases=======================================================Setup=====$cat>>$HGRCPATH<<EOF>[alias]>glog=log-GT"{rev}:{node|short}{desc|firstline}\n{phase}{troubles}\n\n">[phases]>publish=False>[extensions]>rebase=>EOF$echo"evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/">>$HGRCPATH$glog(){>hglog-G--template'{rev}:{node|short}@{branch}({phase}) {desc|firstline}\n'"$@">}Testtomakesurethat`lastsolved`alwayshascorrectvalueandthingsdon't break:------------------------------------------------------------------------------------(before we were not updating it in case of orphan merge)Prepare the repo: $ hg init orphanmergerepo $ cd orphanmergerepo $ for fn in a b c; do echo foo > $fn; hg ci -Am "added "$fn; done; adding a adding b adding cLet'screateamergecommitsothatwecancreateorphanmergelater:$hgup1-q$echofeature>f$hgci-Am"added feature f"addingfcreatednewhead$hgmerge1filesupdated,0filesmerged,0filesremoved,0filesunresolved(branchmerge,don't forget to commit) $ hg ci -m "merge feature branch" $ glog @ 4:2c0a98d38026@default(draft) merge feature branch |\ | o 3:4c33e511041e@default(draft) added feature f | | o | 2:8be98ac1a569@default(draft) added c |/ o 1:80e6d2c47cfe@default(draft) added b | o 0:f7ad41964313@default(draft) added aNow make the parents of merge commit obsolete to get a orphan merge: $ hg up 2 -q $ echo "fixit" > c $ hg ci --amend -m "updated c" 1 new orphan changesets $ hg up 3 -q $ echo "fixit" > c $ hg ci --amend -m "updated f" $ glog @ 6:086d9bedcd75@default(draft) updated f | | o 5:f84f2c548fbc@default(draft) updated c |/ | * 4:2c0a98d38026@default(draft) merge feature branch | |\ +---x 3:4c33e511041e@default(draft) added feature f | | | x 2:8be98ac1a569@default(draft) added c |/ o 1:80e6d2c47cfe@default(draft) added b | o 0:f7ad41964313@default(draft) added aTo check `lastsolved` contain right value after completion of orphan-mergeresolution there should be one more instability to be evolved; lets create one: $ hg up 1 -q $ echo d > d $ hg ci -Am "added d" adding c adding d created new head $ echo e > e $ hg ci -Am "added e" adding e $ hg up .^ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ echo "updated d" >> d $ hg ci --amend -m "updated d" 1 new orphan changesets $ glog @ 9:7c4d1834c346@default(draft) updated d | | * 8:421f7614462a@default(draft) added e | | | x 7:afe5acea1990@default(draft) added d |/ | o 6:086d9bedcd75@default(draft) updated f |/ | o 5:f84f2c548fbc@default(draft) updated c |/ | * 4:2c0a98d38026@default(draft) merge feature branch | |\ +---x 3:4c33e511041e@default(draft) added feature f | | | x 2:8be98ac1a569@default(draft) added c |/ o 1:80e6d2c47cfe@default(draft) added b | o 0:f7ad41964313@default(draft) added aNow we have one orphan merge and one more orphan cset that we just created.Lets evolve: $ hg evolve --all --any move:[4] merge feature branch atop:[5] updated c move:[10] merge feature branch atop:[6] updated f move:[8] added e atop:[9] updated d