[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:45:21 CDT 2014



On 10/14/2014 05:33 PM, 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.

I cannot see what is your invalidation strategy here. (no cache key). 
The use in revset should go in another changesets. And we could use this 
in the branchmap computation too. (even if this is probably only about 
filling the cache)

-- 
Pierre-Yves David


More information about the Mercurial-devel mailing list