It has been a while since a sent a roll-up. Here are the changes since v2:
- Re-use more URL-encoding logic in strbuf.c
* This was partially achieved by changing the helper function to accept a
function that will indicate whether some character must be escaped.
- Re-use more URL-decoding logic in url.c
- changed the filter_spec strbuf to a string_list to avoid explicit
initialization
- Remove logic to "expand" tree:#k and tree:#m filter specs since there is no
server that supports tree:# but does not support tree:#k, as they were
implemented at the same time.
Thanks,
Matthew DeVore (10):
list-objects-filter: make API easier to use
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 | 345 +++++++++++++++++++++-------
list-objects-filter.h | 35 ++-
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, 879 insertions(+), 249 deletions(-)
--
2.21.0