Skip to content
  • Jeff King's avatar
    introduce notes-cache interface · a941d5e3
    Jeff King authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    Notes provide a fast lookup mechanism for data keyed by
    sha1. This is ideal for caching certain operations, like
    textconv filters.
    
    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
         miss.
    
    Signed-off-by: default avatarJeff King <peff@peff.net>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    a941d5e3