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

Matt Mackall mpm at selenic.com
Tue Oct 14 19:58:36 CDT 2014


On Tue, 2014-10-14 at 17:51 -0700, Pierre-Yves David wrote:
> 
> 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.

If it takes a minute to build the cache, and takes a minute to rebuild
it after strip.. then it needs rethinking.

-- 
Mathematics is the supreme nostalgia of our time.




More information about the Mercurial-devel mailing list