stablerange: add an official warmup function
The function is responsible for making sure we have the necessary data for a
sets of heads. For now this only warm the depth cache. More will follow soon.
Such explicite warmup will be usefull for on disck caching as an early point of
writing will be easier.
Initialsetup$.$TESTDIR/testlib/exchange-util.sh===B.1Pruneonnon-targetedcommonchangeset===..{{{..⊗B..|..◕A..|..●O..}}}....Markerexistfrom:....*B(prune)....Commandrun:....*hgpush-rO..*hgpush....Expectedexchange:....*B(prune)$setupreposB.1creatingtestrepofortestcaseB.1-pulldest-main-pushdestcdinto`main`andproceedwithenvsetup$cdmain$mkcommitA$mkcommitB$hgprune-qd'0 0'.$hglog-G--hiddenxf6fbb35d8ac9(draft):B|@f5bc6836db60(draft):A|oa9bdc8b26820(public):O$hgdebugobsoletef6fbb35d8ac958bbe70035e4c789c18471cdc0af0{f5bc6836db60e308a17ba08bf050154ba9c4fad7}(ThuJan0100:00:001970+0000){'user':'test'}$hgdebugobsrelsethashtreea9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc040000000000000000000000000000000000000000f5bc6836db60e308a17ba08bf050154ba9c4fad7926d9d84b97b3483891ae983990ad87c1f7827e9f6fbb35d8ac958bbe70035e4c789c18471cdc0afe041f7ff1c7bd5501c7ab602baa35f0873128021$hgdebugstablerange--rev'head()'revnodeindexsizedepthobshash1f5bc6836db60022926d9d84b97b0a9bdc8b268200110000000000001f5bc6836db60112926d9d84b97b$cd..$cd..$cp-rB.1B.1.a$cp-rB.1B.1.bActualTest(explicitpushversion)-----------------------------------$dotestB.1.aA##RunningtestcaseB.1.a # testing echange of "A" (f5bc6836db60) ## initial state # obstore: mainf6fbb35d8ac958bbe70035e4c789c18471cdc0af0{f5bc6836db60e308a17ba08bf050154ba9c4fad7}(ThuJan0100:00:001970+0000){'user':'test'} # obstore: pushdest # obstore: pulldest ## pushing "A" from main to pushdestpushingtopushdestsearchingforchangesremote:addingchangesetsremote:addingmanifestsremote:addingfilechangesremote:added1changesetswith1changesto1filesremote:1newobsolescencemarkers##postpushstate#obstore:mainf6fbb35d8ac958bbe70035e4c789c18471cdc0af0{f5bc6836db60e308a17ba08bf050154ba9c4fad7}(ThuJan0100:00:001970+0000){'user':'test'} # obstore: pushdestf6fbb35d8ac958bbe70035e4c789c18471cdc0af0{f5bc6836db60e308a17ba08bf050154ba9c4fad7}(ThuJan0100:00:001970+0000){'user':'test'} # obstore: pulldest ## pulling "f5bc6836db60" from main into pulldestpullingfrommainsearchingforchangesaddingchangesetsaddingmanifestsaddingfilechangesadded1changesetswith1changesto1files1newobsolescencemarkers(run'hg update'togetaworkingcopy) ## post pull state # obstore: mainf6fbb35d8ac958bbe70035e4c789c18471cdc0af0{f5bc6836db60e308a17ba08bf050154ba9c4fad7}(ThuJan0100:00:001970+0000){'user':'test'} # obstore: pushdestf6fbb35d8ac958bbe70035e4c789c18471cdc0af0{f5bc6836db60e308a17ba08bf050154ba9c4fad7}(ThuJan0100:00:001970+0000){'user':'test'} # obstore: pulldestf6fbb35d8ac958bbe70035e4c789c18471cdc0af0{f5bc6836db60e308a17ba08bf050154ba9c4fad7}(ThuJan0100:00:001970+0000){'user':'test'}ActualTest(barepushversion)-----------------------------------$dotestB.1.b ## Running testcase B.1.b ## initial state # obstore: mainf6fbb35d8ac958bbe70035e4c789c18471cdc0af0{f5bc6836db60e308a17ba08bf050154ba9c4fad7}(ThuJan0100:00:001970+0000){'user':'test'} # obstore: pushdest # obstore: pulldest ## pushing from main to pushdestpushingtopushdestsearchingforchangesremote:addingchangesetsremote:addingmanifestsremote:addingfilechangesremote:added1changesetswith1changesto1filesremote:1newobsolescencemarkers##postpushstate#obstore:mainf6fbb35d8ac958bbe70035e4c789c18471cdc0af0{f5bc6836db60e308a17ba08bf050154ba9c4fad7}(ThuJan0100:00:001970+0000){'user':'test'} # obstore: pushdestf6fbb35d8ac958bbe70035e4c789c18471cdc0af0{f5bc6836db60e308a17ba08bf050154ba9c4fad7}(ThuJan0100:00:001970+0000){'user':'test'} # obstore: pulldest ## pulling from main into pulldestpullingfrommainsearchingforchangesaddingchangesetsaddingmanifestsaddingfilechangesadded1changesetswith1changesto1files1newobsolescencemarkers(run'hg update'togetaworkingcopy) ## post pull state # obstore: mainf6fbb35d8ac958bbe70035e4c789c18471cdc0af0{f5bc6836db60e308a17ba08bf050154ba9c4fad7}(ThuJan0100:00:001970+0000){'user':'test'} # obstore: pushdestf6fbb35d8ac958bbe70035e4c789c18471cdc0af0{f5bc6836db60e308a17ba08bf050154ba9c4fad7}(ThuJan0100:00:001970+0000){'user':'test'} # obstore: pulldestf6fbb35d8ac958bbe70035e4c789c18471cdc0af0{f5bc6836db60e308a17ba08bf050154ba9c4fad7}(ThuJan0100:00:001970+0000){'user':'test'}