Changes applied, as suggested by jonathantanmy@google.com:
- Re-ordered patches so 3-5 actually come first
- Sadly, as a result of the above, many of the tests in the "treat
missing trees like missing blobs" patch had to be moved to the filter
implementation patch, since it doesn't seem possible to create
promisor objects that are really recognized as promisor objects in
tests (unless you actually do a partial clone). Overall, I thought
this ordering was more elegant, so I kept it.
- Reworded NOT_USER_GIVEN commit message as suggested
- Fixed style error list-objects.c (var dec and code mixed)
- Added missing /* fallthrough */ and explanation why
- Removed the show_missing_trees flag - now we won't show any error if
the only problem is the object is missing and it's a promisor object.
- Renamed only:commits to tree:none and updated commit message
accordingly
- Added /* blobs are always omitted */ comment in list-objects-filter.c
- Fixed up tests in t5317-pack-objects-filter-objects.sh to not use
unnecessary sorts, and to do more commands on lines of their own
rather than in pipes
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:none
Documentation/rev-list-options.txt | 2 +
builtin/rev-list.c | 10 +-
list-objects-filter-options.c | 4 +
list-objects-filter-options.h | 1 +
list-objects-filter.c | 49 +++--
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, 259 insertions(+), 134 deletions(-)