Subject: [PATCH v2 0/3] Changed path filter hash fix and version bump

From: Jonathan Tan <[email-masked]>
Date: Wed, 31 May 2023 16:12:34 -0700

Here's a new version. With this, Git can function with both version
1 (incorrect murmur3) and version 2 (correct murmur3) changed path
filters, but not at the same time: the user can set a config variable to
choose which one, and Git will ignore existing changed path filters of
the wrong version (and always write the version that the config variable
says).

In patch 1, the test assumes that char is signed. I'm not sure if it's
worth asserting on the contents of the filter, since it depends on
whether char is signed, but I've included it anyway (since it's easy
to remove).

Jonathan Tan (3):
  t4216: test changed path filters with high bit paths
  repo-settings: introduce commitgraph.changedPathsVersion
  commit-graph: new filter ver. that fixes murmur3

 Documentation/config/commitgraph.txt | 16 +++++--
 bloom.c                              | 65 ++++++++++++++++++++++++++--
 bloom.h                              |  8 ++--
 commit-graph.c                       | 29 ++++++++++---
 oss-fuzz/fuzz-commit-graph.c         |  2 +-
 repo-settings.c                      |  6 ++-
 repository.h                         |  2 +-
 t/helper/test-bloom.c                |  9 +++-
 t/t0095-bloom.sh                     |  8 ++++
 t/t4216-log-bloom.sh                 | 65 ++++++++++++++++++++++++++++
 10 files changed, 192 insertions(+), 18 deletions(-)

Range-diff against v1:
1:  3a5d53d3c0 < -:  ---------- t4216: test wrong bloom filter version rejection
2:  5a91f9682b < -:  ---------- commit-graph: fix murmur3, bump filter ver. to 2
-:  ---------- > 1:  175dc912fe t4216: test changed path filters with high bit paths
-:  ---------- > 2:  4a7553f3fb repo-settings: introduce commitgraph.changedPathsVersion
-:  ---------- > 3:  f5c3f6080a commit-graph: new filter ver. that fixes murmur3
-- 
2.41.0.rc0.172.g3f132b7071-goog