obshistory: display a message when one marker node has no change ctx
When exchanging obs markers, there is some change contexts
referencing change contexts that are not available locally.
As we cannot display informations about them, instead print a
message saying so.
====================================Testingheadcheckingcode:CaseC-2====================================Mercurialchecksfortheintroductionofnewheadsonpush.Evolutioncomesintoplaytodetectifexistingbranchesontheserverarebeingreplacedbysomeofthenewonewepush.Thiscaseispartofaseriesoftestscheckingthisbehavior.CategoryC:casewerethebranchisonlypartiallyobsoletedTestCase2:2changesetbranch,onlythebaseisrewritten..old-state:....*2changesetbranch....new-state:....*1newchangesetsbranchessuperceedingonlythebaseoftheoldone..*Theoldbranchisstillalive(baseisobsolete,headisalive)....expected-result:....*pushdenied....graph-summary:....B○..|..Aø⇠◔A'.. |/.. ● $ . $TESTDIR/testlib/push-checkheads-util.shTest setup---------- $ mkdir C2 $ cd C2 $ 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/C2/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)"` $ hg log -G --hidden @ f6082bc4ffef (draft): A1 | | o d73caddc5533 (draft): B0 | | | x 8aaa48160adc (draft): A0 |/ o 1e4be0697311 (public): rootActual testing-------------- $ hg push --rev 'desc(A1)' pushing to $TESTTMP/C2/server (glob) searching for changes abort: push creates new remote head f6082bc4ffef! (merge or see 'hghelppush' for details about pushing new heads) [255] $ cd ../..