evolve: use registrar.revsetpredicate to register revset predicate functions
Now, using registrar.revsetpredicate of Mercurial directly in evolve
extension should be safe enough. because it has been available since
Mercurial 3.8, and minimum Mercurial version for evolve extension is
3.8, too.
====================================Testingheadcheckingcode:CaseB-2====================================Mercurialchecksfortheintroductionofnewheadsonpush.Evolutioncomesintoplaytodetectifexistingbranchesontheserverarebeingreplacedbysomeofthenewonewepush.Thiscaseispartofaseriesoftestscheckingthisbehavior.CategoryB:simplecaseinvolvingprunedchangesetsTestCase2:multi-changesetbranch,headispruned,restissuperceeded..old-state:....*2changesetbranch....new-state:....*oldheadispruned..*1newbranchsucceedingtotheotherchangesetintheoldbranch....expected-result:....*pushallowed....graph-summary:....B⊗..|..Aø⇠◔A'.. |/.. ● $ . $TESTDIR/testlib/push-checkheads-util.shTest setup---------- $ mkdir B2 $ cd B2 $ setuprepos creating basic server and client repo updating to branch default 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd server $ mkcommit B0 $ cd ../client $ hg pull pulling from $TESTTMP/B2/server (glob) searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (run 'hgupdate' to get a working copy) $ hg up 0 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ mkcommit A1 created new head $ hg debugobsolete `getid "desc(A0)" ` `getid "desc(A1)"` obsoleted 1 changesets $ hg debugobsolete --record-parents `getid "desc(B0)"` obsoleted 1 changesets $ hg log -G --hidden @ f6082bc4ffef (draft): A1 | | x d73caddc5533 (draft): B0 | | | x 8aaa48160adc (draft): A0 |/ o 1e4be0697311 (public): rootActual testing-------------- $ hg push pushing to $TESTTMP/B2/server (glob) searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) 2 new obsolescence markers obsoleted 2 changesets $ cd ../..