full integration of rev-cache into git, completed test suite
authorNick Edelen <sirnot@gmail.com>
Mon, 7 Sep 2009 14:11:02 +0000 (16:11 +0200)
committerShawn O. Pearce <spearce@spearce.org>
Tue, 29 Sep 2009 17:06:56 +0000 (10:06 -0700)
commitd538717a759c64bdc4c1f042465c4309080dd620
tree9a0822b41dd078a8f21ebc2c2d7a86c07672b1cb
parent88c62f96b274040c3ed5406d065f9f6efff2b298
full integration of rev-cache into git, completed test suite

This last patch provides a working integration of rev-cache into the revision
walker, along with some touch-ups:
 - integration into revision walker and list-objects
 - tweak of object generation
 - more fluid handling of damaged cache slices
 - numerous tests for both features from the previous patch, and the
integration's integrity

'Integration' is rather broad -- a more detailed description follows for each
aspect:
 - rev-cache
the traversal mechanism is updated to handle many of the non-prune options
rev-list does (date limiting, slop-handling, etc.), and is adjusted to allow
for non-fatal cache-traversal failures.

 - revision walker
both limited and unlimited traversal attempt to use the cache when possible,
smoothly falling back if it's not.

 - list-objects
object listing does not recurse into cached trees, and has been adjusted to
guarantee commit-tag-tree-blob ordering.

Signed-off-by: Nick Edelen <sirnot@gmail.com>
builtin-rev-cache.c
list-objects.c
rev-cache.c
revision.c
t/t6017-rev-cache-list.sh