exchange: expose length of pushed markers
http wireprotocol will need it.
Initialsetup$.$TESTDIR/_exc-util.sh===D.4Unknownchangesetinbetweenknownone===..Mostlyaclarificationcase....{{{..ø⇠◌⇠○..||/..|◔..|/..●O....}}}....ShouldbetreatedasA.3case:....{{{....ø⇠○..||..|◔..|/..●O....}}}initial$setupreposA.3.acreatingtestrepofortestcaseA.3.a-pulldest-main-pushdestcdinto`main`andproceedwithenvsetup$cdmain$mkcommitA0$mkcommitB0$hgupdate-q0$mkcommitA1creatednewhead$mkcommitB1$hgdebugobsolete`getid'desc(A0)'`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa$hgdebugobsoleteaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`getid'desc(A1)'`$hgdebugobsolete`getid'desc(B0)'`bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb$hgdebugobsoletebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb`getid'desc(B1)'`invalidbranchheadscache(served):tipdiffers$hglog-G--hidden@069b05c3876d(draft):B1|oe5ea8f9c7314(draft):A1||x6e72f0a95b5e(draft):B0|||x28b51eb45704(draft):A0|/oa9bdc8b26820(public):O$hgdebugobsolete28b51eb45704506b5c603decd6bf7ac5e0f6a52faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0{'date':'','user':'test'}aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae5ea8f9c73143125d36658e90ef70c6d2027a5b70{'date':'','user':'test'}6e72f0a95b5e01a7504743aa941f69cb1fbef8b0bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0{'date':'','user':'test'}bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb069b05c3876d56f62895e853a501ea58ea85f68d0{'date':'','user':'test'}$cd..$cd..ActualTestforfirstversion(changesetunknownremotly)---------------------------------------------------------$dotestA.3.aA1##RunningtestcaseA.3.a # testing echange of "A1" (e5ea8f9c7314) ## initial state # obstore: main28b51eb45704506b5c603decd6bf7ac5e0f6a52faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0{'date':'','user':'test'}aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae5ea8f9c73143125d36658e90ef70c6d2027a5b70{'date':'','user':'test'}6e72f0a95b5e01a7504743aa941f69cb1fbef8b0bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0{'date':'','user':'test'}bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb069b05c3876d56f62895e853a501ea58ea85f68d0{'date':'','user':'test'} # obstore: pushdest # obstore: pulldest ## pushing "A1" from main to pushdestpushingtopushdestsearchingforchangesaddingchangesetsaddingmanifestsaddingfilechangesadded1changesetswith1changesto1filesOBSEXC:computingrelevantnodesOBSEXC:computingmarkersrelevantto2nodesOBSEXC:encoding2markersOBSEXC:sending1pushkeypayload(154bytes)OBSEXC:DONE ## post push state # obstore: main28b51eb45704506b5c603decd6bf7ac5e0f6a52faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0{'date':'','user':'test'}aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae5ea8f9c73143125d36658e90ef70c6d2027a5b70{'date':'','user':'test'}6e72f0a95b5e01a7504743aa941f69cb1fbef8b0bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0{'date':'','user':'test'}bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb069b05c3876d56f62895e853a501ea58ea85f68d0{'date':'','user':'test'} # obstore: pushdestaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae5ea8f9c73143125d36658e90ef70c6d2027a5b70{'date':'','user':'test'}28b51eb45704506b5c603decd6bf7ac5e0f6a52faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0{'date':'','user':'test'} # obstore: pulldest ## pulling "e5ea8f9c7314" from main into pulldestpullingfrommainsearchingforchangesaddingchangesetsaddingmanifestsaddingfilechangesadded1changesetswith1changesto1filesOBSEXC:pullobsolescencemarkersOBSEXC:mergingobsolescencemarkers(123bytes)OBSEXC:2markersaddedOBSEXC:DONE(run'hg update'togetaworkingcopy) ## post pull state # obstore: main28b51eb45704506b5c603decd6bf7ac5e0f6a52faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0{'date':'','user':'test'}aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae5ea8f9c73143125d36658e90ef70c6d2027a5b70{'date':'','user':'test'}6e72f0a95b5e01a7504743aa941f69cb1fbef8b0bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0{'date':'','user':'test'}bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb069b05c3876d56f62895e853a501ea58ea85f68d0{'date':'','user':'test'} # obstore: pushdestaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae5ea8f9c73143125d36658e90ef70c6d2027a5b70{'date':'','user':'test'}28b51eb45704506b5c603decd6bf7ac5e0f6a52faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0{'date':'','user':'test'} # obstore: pulldestaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae5ea8f9c73143125d36658e90ef70c6d2027a5b70{'date':'','user':'test'}28b51eb45704506b5c603decd6bf7ac5e0f6a52faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0{'date':'','user':'test'}