Mercurial > hg
diff mercurial/obsolete.py @ 18101:a464deecc9dd
clfilter: add a cache on repo for set of revision to filter for a given set.
Recomputing the filtered revisions at every access to changelog is far too
expensive. This changeset introduce a cache for this information. This cache is
hold by the repository (unfiltered repository) and invalidated when necessary.
This cache is not a protected attribute (leading _) because some logic that
invalidate it is not held by the local repo itself.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Thu, 20 Dec 2012 17:14:07 +0100 |
parents | af632936d3d9 |
children | 67872e939945 |
line wrap: on
line diff
--- a/mercurial/obsolete.py Thu Dec 20 15:32:42 2012 +0100 +++ b/mercurial/obsolete.py Thu Dec 20 17:14:07 2012 +0100 @@ -738,6 +738,7 @@ if nprec in nsucs: raise util.Abort("changeset %s cannot obsolete itself" % prec) repo.obsstore.create(tr, nprec, nsucs, flag, metadata) + repo.filteredrevcache.clear() tr.close() finally: tr.release()