# HG changeset patch # User Boris Feld # Date 2018-11-19 16:50:21 # Node ID d7936a9dad471d0bfe99c5ddf873fa566df6e28b # Parent 4369c00a8ee168565fba97112283bbc00be8ce44 perf: make `clearfilecache` helper work with any object If the object is not a localrepo, it won't have an `unfiltered` method (and won't need one). diff --git a/contrib/perf.py b/contrib/perf.py --- a/contrib/perf.py +++ b/contrib/perf.py @@ -457,11 +457,13 @@ def repocleartagscachefunc(repo): # utilities to clear cache -def clearfilecache(repo, attrname): - unfi = repo.unfiltered() - if attrname in vars(unfi): - delattr(unfi, attrname) - unfi._filecache.pop(attrname, None) +def clearfilecache(obj, attrname): + unfiltered = getattr(obj, 'unfiltered', None) + if unfiltered is not None: + obj = obj.unfiltered() + if attrname in vars(obj): + delattr(obj, attrname) + obj._filecache.pop(attrname, None) # perf commands