obshistory: add _predecessorsverb() similar to _successorsetverb()
====================================Testingheadcheckingcode:CaseE-2====================================Mercurialchecksfortheintroductionofnewheadsonpush.Evolutioncomesintoplaytodetectifexistingbranchesontheserverarebeingreplacedbysomeofthenewonewepush.Thiscaseispartofaseriesoftestscheckingthisbehavior.CategoryE:caseinvolvingchangesetonmultiplebranchTestCase8:movinginterleavedbranchawayfromeachother..old-state:....*2-changesetonbranchdefault..*1-changesetonbranchZ(betweenthetwoother)....new-state:....*2-changesetonbranchdefault,aligned..*1-changesetonbranchZ(atthesamelocation)....expected-result:....*pushallowed....graph-summary:....Cø⇠◔C'.. | |.. B ◔ |.. | |.. A ø⇠◔ A'..|/..●$.$TESTDIR/testlib/topic_setup.sh$.$TESTDIR/testlib/push-checkheads-util.shTestsetup----------$mkdirE1$cdE1$setupreposcreatingbasicserverandclientrepoupdatingtobranchdefault2filesupdated,0filesmerged,0filesremoved,0filesunresolved$cdclient$hgbranchZmarkedworkingdirectoryasbranchZ(branchesarepermanentandglobal,didyouwantabookmark?)$mkcommitB0$hgbranchdefault--forcemarkedworkingdirectoryasbranchdefault$mkcommitC0creatednewhead(considerusingtopicforlightweightbranches.See'hg help topic')$hgpush--new-branchpushingto$TESTTMP/E1/serversearchingforchangesaddingchangesetsaddingmanifestsaddingfilechangesadded2changesetswith2changesto2files$hgup00filesupdated,0filesmerged,3filesremoved,0filesunresolved$mkcommitA1creatednewhead(considerusingtopicforlightweightbranches.See'hg help topic')$mkcommitC1$hgdebugobsolete`getid"desc(A0)"``getid"desc(A1)"`1newobsolescencemarkersobsoleted1changesets2neworphanchangesets$hgdebugobsolete`getid"desc(C0)"``getid"desc(C1)"`1newobsolescencemarkersobsoleted1changesets$hglog-G--hidden@0c76bc104656(draft):C1|of6082bc4ffef(draft):A1||xafc55ba2ce61(draft):C0|||*93e5c1321ece(draft):B0|||x8aaa48160adc(draft):A0|/o1e4be0697311(public):rootActualtesting--------------$hgpush-r'desc("C1")'pushingto$TESTTMP/E1/serversearchingforchangesaddingchangesetsaddingmanifestsaddingfilechangesadded2changesetswith2changesto2files(+1heads)2newobsolescencemarkersobsoleted2changesets1neworphanchangesets$cd../..