[PATCH 04 of 10] branchmap: add the tiprev (cache key) on the branchmap object
Pierre-Yves David
pierre-yves.david at ens-lyon.org
Sun Dec 23 19:32:00 CST 2012
On 24 déc. 2012, at 02:21, Augie Fackler wrote:
>
> On Dec 21, 2012, at 8:48 PM, Pierre-Yves David <pierre-yves.david at ens-lyon.org> wrote:
>
>> # HG changeset patch
>> # User Pierre-Yves David <pierre-yves.david at logilab.fr>
>> # Date 1356138386 -3600
>> # Node ID 090ada0acddb4486e94fba9c89e25b0624442d0f
>> # Parent ad194a8ab5c15e6d74fe087061ee960f5d6bbf16
>> branchmap: add the tiprev (cache key) on the branchmap object
>>
>> The actual cache key used on disk is the (tipnode, tiprev) pair. There is no
>> reason not to use the revision number for the in memory version.
>
> It feels strange to me to have both tipnode and tiprev on this object, partially because it feels more likely that they'll fall out of sync somehow. Then again, I suppose if that happens then we want the cache to be invalidated anyway?
They are both part of the key so we better have both of them here.
Patch 8 removes any all updates mades outside the class lowering the chance for them to go out of sync by mistake
Patch 10 makes a heavy use of both to check validity of a cache again a repo state. In particular, we read and write both on disk.
--
Pierre-Yves David
More information about the Mercurial-devel
mailing list