[PATCH] localrepo: introduce persistent caching of revset revision's branch names

Pierre-Yves David pierre-yves.david at ens-lyon.org
Tue Oct 14 19:51:21 CDT 2014



On 10/14/2014 05:43 PM, Matt Mackall wrote:
> On Wed, 2014-10-15 at 02:33 +0200, Mads Kiilerich wrote:
>> # HG changeset patch
>> # User Mads Kiilerich <madski at unity3d.com>
>> # Date 1413333190 -7200
>> #      Wed Oct 15 02:33:10 2014 +0200
>> # Node ID 85189122b49b31dddbcddb7c0925afa019dc4403
>> # Parent  48c0b101a9de1fdbd638daa858da845cd05a6be7
>> localrepo: introduce persistent caching of revset revision's branch names
>>
>> It is expensive to create a changectx and extract the branch name. That shows
>> up when filtering on branches in revsets.
>>
>> To speed things up, cache the results on disk. To avoid using too much space,
>> all branch names are only stored once and each revision references one of these
>> names. To verify that the cache is valid, we also store the tip hash in the
>> cache file.
>
> If we're going to add such a cache, I think it needs to not need
> rebuilding across a strip.

I'm not sure I get you. Do you mean you want the cache to be permanent 
(so using hash as key instead of rev?) Or do you want it to to be 
properly invalidated in case of strip (some kind of cache key) or any of 
the previous or something else.

-- 
Pierre-Yves David


More information about the Mercurial-devel mailing list