[PATCH 1 of 6 V2] localrepo: add isfilecached to check filecache-ed property is already cached
Yuya Nishihara
yuya at tcha.org
Tue Jul 11 09:59:00 EDT 2017
On Mon, 10 Jul 2017 23:18:14 +0900, FUJIWARA Katsunori wrote:
> # HG changeset patch
> # User FUJIWARA Katsunori <foozy at lares.dti.ne.jp>
> # Date 1499695791 -32400
> # Mon Jul 10 23:09:51 2017 +0900
> # Node ID d5ba581532af80641a881860c1dc718773892a40
> # Parent ccb3e5399921db16e95e7429cc2fb9ef82ee846e
> localrepo: add isfilecached to check filecache-ed property is already cached
Queued, thanks.
It'll be nice if eventually filecaches can be extended by a plain class
inheritance, but that would require a fair amount of work.
> diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
> --- a/mercurial/localrepo.py
> +++ b/mercurial/localrepo.py
> @@ -103,6 +103,16 @@ class storecache(_basefilecache):
> def join(self, obj, fname):
> return obj.sjoin(fname)
>
> +def isfilecached(repo, name):
> + """check if a repo has already cached "name" filecache-ed property
> +
> + This returns (cachedobj-or-None, iscached) tuple.
> + """
> + cacheentry = repo.unfiltered()._filecache.get(name, None)
> + if not cacheentry:
> + return None, False
> + return cacheentry.obj, True
I prefer not calling this an "is" function because the return value can't
be evaluated as a boolean. I don't have a better alternative, but getfilecached
or getfilecachedobj seems less bad.
More information about the Mercurial-devel
mailing list