This applies suggestions made by Jonathan Tan, as well as fixes a Coccinelle-breaking error in strbuf usage, and makes an additional string localizable. Thanks, Matthew DeVore (10): list-objects-filter: encapsulate filter components list-objects-filter: put omits set in filter struct list-objects-filter-options: always supply *errbuf list-objects-filter: implement composite filters list-objects-filter-options: move error check up list-objects-filter-options: make filter_spec a string_list strbuf: give URL-encoding API a char predicate fn list-objects-filter-options: allow mult. --filter list-objects-filter-options: clean up use of ALLOC_GROW list-objects-filter-options: make parser void Documentation/rev-list-options.txt | 16 ++ builtin/clone.c | 8 +- builtin/fetch.c | 9 +- builtin/rev-list.c | 6 +- cache.h | 22 ++ credential-store.c | 9 +- fetch-pack.c | 20 +- http.c | 6 +- list-objects-filter-options.c | 267 ++++++++++++++++++---- list-objects-filter-options.h | 57 ++++- list-objects-filter.c | 335 +++++++++++++++++++++------- list-objects-filter.h | 40 ++-- list-objects.c | 55 ++--- strbuf.c | 15 +- strbuf.h | 7 +- t/t5616-partial-clone.sh | 19 ++ t/t6112-rev-list-filters-objects.sh | 194 +++++++++++++++- transport-helper.c | 10 +- transport.c | 1 + upload-pack.c | 13 +- url.c | 6 + url.h | 8 + 22 files changed, 884 insertions(+), 239 deletions(-) -- 2.21.0