Notes provide a fast lookup mechanism for data keyed by
sha1. This is ideal for caching certain operations, like
This patch builds some infrastructure to make it simpler to
use notes trees as caches. In particular, caches:
1. don't have arbitrary commit messages. They store a
cache validity string in the commit, and clear the tree
when the cache validity string changes.
2. don't keep any commit history. The accumulated history
of a a cache is just useless cruft.
3. use a looser form of locking for ref updates. If two
processes try to write to the cache simultaneously, it
is OK if one overwrites the other, losing some changes.
It's just a cache, so we will just end up with an extra
Signed-off-by: Jeff King <email@example.com>
Signed-off-by: Junio C Hamano <firstname.lastname@example.org>