Subject: [PATCH 0/4] pack-bitmap: use bitmaps for traversals with '--filter=tree:0'

From: Taylor Blau <[email-masked]>
Date: Wed, 22 Apr 2020 17:13:19 -0600

Hi,

This series contains a handful of patches to make object traversals with
'--filter=tree:0' be bitmaps-compatible. They have been kicking around
in GitHub's fork for some time, and we use them on every
'--filter=tree:0' fetch.

This is a prerequisite for a future series which will introduce
configuration in upload-pack to indicate which filter choices are and
aren't supported [1]. Since sending [1], GitHub's fork has grown support
for

  [uploadpack 'filter.tree']
    maxDepth = <n>

...and so I figure that we could get this smaller series out for
discussion before introducing that option, which doesn't make sense
without having some faster variant of the 'tree' filter for certain
values of 'n'.

Thanks,
Taylor

[1]: https://lore.kernel.org/git/[email-masked]/

Jeff King (2):
  list-objects-filter: treat NULL filter_options as "disabled"
  pack-bitmap: pass object filter to fill-in traversal

Taylor Blau (2):
  pack-bitmap.c: make object filtering functions generic
  pack-bitmap.c: support 'tree:0' filtering

 list-objects-filter.c              |  3 ++
 pack-bitmap.c                      | 72 +++++++++++++++++++++++-------
 t/perf/p5310-pack-bitmaps.sh       | 10 +++++
 t/t6113-rev-list-bitmap-filters.sh | 21 +++++++++
 4 files changed, 90 insertions(+), 16 deletions(-)

--
2.26.2.112.g65467a058e