effectflag: fix content change detection for filtered revs
In some cases (like amended an obsolete changeset), computing the diff and
comparing them need to work with filtered revisions. We need to use unfiltered
change contexts to safely compute diffs.
============================================Testingobsolescencemarkerspush:CasesA.2============================================Mercurialpushesobsolescencesmarkersrelevanttothe"pushed-set",thesetofallchangesetsthatrequestedtobe"in sync"afterthepush(eveniftheyarealreadyonbothside).Thistestbelongstoaseriesoftestscheckingsuchsetisproperlycomputedandapplied.Thisdoesnottests"obsmarkers"discoverycapabilities.CategoryA:simplecasesTestCase2:Twoheads,onlyoneofthempushedA.2Twoheads,onlyonofthenpushed=====================================..{{{..⇠○B..⇠◔|A..|/..●O..}}}....Markersexistfrom:....*A..*B......Commandruns:....*hgpush-rA....Expectedexchange:....*chainfromA....ExpectedExclude:....*chainfromBSetup-----$.$TESTDIR/testlib/exchange-obsmarker-util.shinitial$setupreposA.2creatingtestrepofortestcaseA.2-pulldest-main-pushdestcdinto`main`andproceedwithenvsetup$cdmain$mkcommitA$hgdebugobsoleteaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`getid'desc(A)'`$hgup'.~1'0filesupdated,0filesmerged,1filesremoved,0filesunresolved$mkcommitBcreatednewhead$hgdebugobsoletebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb`getid'desc(B)'`$hglog-G@35b183996678(draft):B||of5bc6836db60(draft):A|/oa9bdc8b26820(public):O$inspect_obsmarkersobsstorecontent================aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf5bc6836db60e308a17ba08bf050154ba9c4fad70(ThuJan0100:00:001970+0000){'user':'test'}bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb35b1839966785d5703a01607229eea932db42f870(ThuJan0100:00:001970+0000){'user':'test'}obshashtree===========a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc040000000000000000000000000000000000000000f5bc6836db60e308a17ba08bf050154ba9c4fad750656e04a95ecdfed94659dd61f663b2caa55e9835b1839966785d5703a01607229eea932db42f87b9c8f20eef8938ebab939fe6a592587feacf3245obshashrange============revnodeindexsizedepthobshash235b183996678022b9c8f20eef891f5bc6836db6002250656e04a95e235b183996678112b9c8f20eef890a9bdc8b268200110000000000001f5bc6836db6011250656e04a95e$cd..$cd..ActualTest-----------$dotestA.2A##RunningtestcaseA.2 # testing echange of "A" (f5bc6836db60) ## initial state # obstore: mainaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf5bc6836db60e308a17ba08bf050154ba9c4fad70(ThuJan0100:00:001970+0000){'user':'test'}bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb35b1839966785d5703a01607229eea932db42f870(ThuJan0100:00:001970+0000){'user':'test'} # obstore: pushdest # obstore: pulldest ## pushing "A" from main to pushdestpushingtopushdestsearchingforchangesremote:addingchangesetsremote:addingmanifestsremote:addingfilechangesremote:added1changesetswith1changesto1filesremote:1newobsolescencemarkers##postpushstate#obstore:mainaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf5bc6836db60e308a17ba08bf050154ba9c4fad70(ThuJan0100:00:001970+0000){'user':'test'}bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb35b1839966785d5703a01607229eea932db42f870(ThuJan0100:00:001970+0000){'user':'test'} # obstore: pushdestaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf5bc6836db60e308a17ba08bf050154ba9c4fad70(ThuJan0100:00:001970+0000){'user':'test'} # obstore: pulldest ## pulling "f5bc6836db60" from main into pulldestpullingfrommainsearchingforchangesaddingchangesetsaddingmanifestsaddingfilechangesadded1changesetswith1changesto1files1newobsolescencemarkers(run'hg update'togetaworkingcopy) ## post pull state # obstore: mainaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf5bc6836db60e308a17ba08bf050154ba9c4fad70(ThuJan0100:00:001970+0000){'user':'test'}bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb35b1839966785d5703a01607229eea932db42f870(ThuJan0100:00:001970+0000){'user':'test'} # obstore: pushdestaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf5bc6836db60e308a17ba08bf050154ba9c4fad70(ThuJan0100:00:001970+0000){'user':'test'} # obstore: pulldestaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf5bc6836db60e308a17ba08bf050154ba9c4fad70(ThuJan0100:00:001970+0000){'user':'test'}$cd..