Applied the following changes suggested by git@jeffhostetler.com:
- Change the filter name from tree:none to tree:0 to make room for
future improvements which allow filtering based on depth.
- Made a separate filter logic function and filter data struct for
tree:0 rather than share it with blob:none. I would usually prefer
making the code less redundant whenever possible, but since there
are plans to extend this in the future, it makes more sense to have
this separate.
Matthew DeVore (5):
list-objects: store common func args in struct
list-objects: refactor to process_tree_contents
rev-list: handle missing tree objects properly
revision: mark non-user-given objects instead
list-objects-filter: implement filter tree:0
Documentation/rev-list-options.txt | 3 +
builtin/rev-list.c | 10 +-
list-objects-filter-options.c | 4 +
list-objects-filter-options.h | 1 +
list-objects-filter.c | 50 ++++++
list-objects.c | 236 +++++++++++++------------
revision.c | 1 -
revision.h | 10 +-
t/t5317-pack-objects-filter-objects.sh | 40 +++++
t/t5616-partial-clone.sh | 27 +++
t/t6112-rev-list-filters-objects.sh | 13 ++
11 files changed, 274 insertions(+), 121 deletions(-)