This series combines the efforts in [1] and [2] to culminate in v2 of the changed-path Bloom filter format (which uses a bona-fide murmur3 implementation) as well as an efficient upgrade path for repositories with few non-ASCII paths. The first seven patches are from [1], and are unchanged from that version. Most of the remaining patches are from [2], and they have been modified based on the review therein. The final patch is new, and avoids leaking memory when the Bloom subsystem is initialized both in the read- and read/write-cases. Thanks to Jonathan and Peff who have both helped a great deal in putting these patches together. And, as always, thanks in advance for your review! [1]: https://lore.kernel.org/git/cover.1684790529.git.jonathantanmy@xxxxxxxxxx/ [2]: https://lore.kernel.org/git/cover.1691426160.git.me@xxxxxxxxxxxx/ Jonathan Tan (4): gitformat-commit-graph: describe version 2 of BDAT t4216: test changed path filters with high bit paths repo-settings: introduce commitgraph.changedPathsVersion commit-graph: new filter ver. that fixes murmur3 Taylor Blau (11): t/helper/test-read-graph.c: extract `dump_graph_info()` bloom.h: make `load_bloom_filter_from_graph()` public t/helper/test-read-graph: implement `bloom-filters` mode bloom: annotate filters with hash version bloom: prepare to discard incompatible Bloom filters t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()` commit-graph.c: unconditionally load Bloom filters commit-graph: drop unnecessary `graph_read_bloom_data_context` object.h: fix mis-aligned flag bits table commit-graph: reuse existing Bloom filters where possible bloom: introduce `deinit_bloom_filters()` Documentation/config/commitgraph.txt | 26 ++- Documentation/gitformat-commit-graph.txt | 9 +- bloom.c | 208 +++++++++++++++++++++-- bloom.h | 38 ++++- commit-graph.c | 36 +++- object.h | 3 +- oss-fuzz/fuzz-commit-graph.c | 2 +- repo-settings.c | 6 +- repository.h | 2 +- t/helper/test-bloom.c | 9 +- t/helper/test-read-graph.c | 67 ++++++-- t/t0095-bloom.sh | 8 + t/t4216-log-bloom.sh | 184 +++++++++++++++++++- 13 files changed, 548 insertions(+), 50 deletions(-) -- 2.42.0.4.g52b49bb434