[PATCH] repoview: separate cache hash computation from cache reading
Augie Fackler
raf at durin42.com
Tue Feb 21 11:09:35 EST 2017
On Mon, Feb 20, 2017 at 01:56:19AM -0800, Stanislau Hlebik wrote:
> # HG changeset patch
> # User Stanislau Hlebik <stash at fb.com>
> # Date 1487584447 28800
> # Mon Feb 20 01:54:07 2017 -0800
> # Node ID cb1151ce14f7ec9e2ca991bc8bd590020ec4b061
> # Parent 693a5bb478543a986808264e586073a3ceedc38f
> repoview: separate cache hash computation from cache reading
Seems harmless enough, queued. Thanks.
>
> This change will make it easier for extensions to use another cache hash.
>
> diff --git a/mercurial/repoview.py b/mercurial/repoview.py
> --- a/mercurial/repoview.py
> +++ b/mercurial/repoview.py
> @@ -139,15 +139,13 @@
> if wlock:
> wlock.release()
>
> -def tryreadcache(repo, hideable):
> - """read a cache if the cache exists and is valid, otherwise returns None."""
> +def _readhiddencache(repo, cachefilename, newhash):
> hidden = fh = None
> try:
> if repo.vfs.exists(cachefile):
> fh = repo.vfs.open(cachefile, 'rb')
> version, = struct.unpack(">H", fh.read(2))
> oldhash = fh.read(20)
> - newhash = cachehash(repo, hideable)
> if (cacheversion, oldhash) == (version, newhash):
> # cache is valid, so we can start reading the hidden revs
> data = fh.read()
> @@ -165,6 +163,11 @@
> if fh:
> fh.close()
>
> +def tryreadcache(repo, hideable):
> + """read a cache if the cache exists and is valid, otherwise returns None."""
> + newhash = cachehash(repo, hideable)
> + return _readhiddencache(repo, cachefile, newhash)
> +
> def computehidden(repo):
> """compute the set of hidden revision to filter
>
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
More information about the Mercurial-devel
mailing list