This adds support for depth >0 in the tree:<depth> filter. Before this patch,
only <depth>=0 is supported, which means all trees and blobs are filtered.

The purpose of this is to allow fetching of entire directories in a partial
clone use case. If I do a partial clone of a repo with no objects and then want
to do something like "make" it will be quite slow of we initiate a separate
fetch for every file needed. Alternatively, fetching directories at a time -
as soon as any file in a directory is accessed - is a reasonable approach.

Thank you,

Matthew DeVore (3):
  list-objects: support for skipping tree traversal
  Documentation/git-rev-list: s/<commit>/<object>/
  list-objects-filter: teach tree:# how to handle >0

 Documentation/git-rev-list.txt      | 21 ++++---
 Documentation/rev-list-options.txt  | 24 +++++---
 builtin/rev-list.c                  |  2 +-
 list-objects-filter-options.c       |  6 +-
 list-objects-filter-options.h       |  1 +
 list-objects-filter.c               | 52 +++++++++++++---
 list-objects-filter.h               |  6 ++
 list-objects.c                      |  5 +-
 t/t6112-rev-list-filters-objects.sh | 94 +++++++++++++++++++++++++++++
 9 files changed, 178 insertions(+), 33 deletions(-)

-- 
2.19.1.331.ge82ca0e54c-goog

Reply via email to