I've applied or responded to all changes suggested by Jonathan and Jeff.
Matthew DeVore (6):
list-objects: store common func args in struct
list-objects: refactor to process_tree_contents
list-objects: always parse trees gently
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 | 11 +-
list-objects-filter-options.c | 4 +
list-objects-filter-options.h | 1 +
list-objects-filter.c | 50 ++++++
list-objects.c | 238 +++++++++++++------------
revision.c | 1 -
revision.h | 11 +-
t/t0410-partial-clone.sh | 66 +++++++
t/t5317-pack-objects-filter-objects.sh | 40 +++++
t/t5616-partial-clone.sh | 38 ++++
t/t6112-rev-list-filters-objects.sh | 13 ++
12 files changed, 358 insertions(+), 118 deletions(-)