This patch introduces a tentative step towards integrating rev-cache into the internal revision walker. Cache traversal is added to both limited and unlimited revision walks, and FACE_VALUEd objects are handled in list-objects. Furthermore the unique object_list field is added to commit objects, to allow runtime association with a commit's cached 'unique' object list.
The traversal mechanism in rev-cache is updated to reflect the limiting methods used in rev-list. Tests for coagulation and index generation are included, in addition to several verifying the correctness of integration.
Signed-off-by: Nick Edelen <redacted>
---
builtin-rev-cache.c | 44 +++++++-
commit.c | 2 +-
commit.h | 1 +
list-objects.c | 19 +++-
rev-cache.c | 299 +++++++++++++++++++++++++++++++++++++++------
revision.c | 91 +++++++++++---
t/t6015-rev-cache-list.sh | 120 +++++++++++++++++--
7 files changed, 505 insertions(+), 71 deletions(-)