cache: introduce an abstract class for cache we can upgrade incrementally
Right now each class implements their own mechanism for validation, and
update. We start introducing abstract class to ultimately allow more
unification of the cache code.
The end goal of this series is to introduce a cache for some obsolescence
property, not to actually implement the cache. However, taking advantage of
adding a new cache to introduce the abstract class seems like a win.
This code was headed for core during the 4.3 cycle but never made it there. So
we starts with a copy in the evolve repository.
exclude contrib
recursive-exclude contrib *
exclude hgext3rd/evolve/hack
recursive-exclude hgext3rd/evolve/hack *
exclude hgext3rd/evolve/legacy.py
exclude Makefile
exclude tests/test-drop.t
exclude tests/test-inhibit.t
exclude tests/test-oldconvert.t
include COPYING
include docs/figures/hgview-example.png
include docs/makefile
include docs/*.py
include docs/README
include docs/*.rst
include docs/static/*.svg
include docs/tutorials/*.t
include hgext3rd/__init__.py
include hgext3rd/evolve/*.py
include hgext3rd/topic/*.py
include hgext3rd/topic/README
include MANIFEST.in
include README
include CHANGELOG
include setup.py
include tests/*.py
include tests/*.sh
include tests/testlib/*.sh
include tests/*.t
prune debian
recursive-include docs/figures *.svg