Hi, this is the third version of my patch series that stops relying on the SHA1 fallback configured for `the_hash_algo`. There's only a single change compared to v2, which is a new patch that fixes a segfault in the commit-graph fuzzer. Thanks! Patrick Patrick Steinhardt (13): path: harden validation of HEAD with non-standard hashes path: move `validate_headref()` to its only user parse-options-cb: only abbreviate hashes when hash algo is known attr: don't recompute default attribute source attr: fix BUG() when parsing attrs outside of repo remote-curl: fix parsing of detached SHA256 heads builtin/rev-parse: allow shortening to more than 40 hex characters builtin/blame: don't access potentially unitialized `the_hash_algo` builtin/bundle: abort "verify" early when there is no repository builtin/diff: explicitly set hash algo when there is no repo builtin/shortlog: don't set up revisions without repo oss-fuzz/commit-graph: set up hash algorithm repository: stop setting SHA1 as the default object hash attr.c | 31 +++++++++++++++------ builtin/blame.c | 5 ++-- builtin/bundle.c | 5 ++++ builtin/diff.c | 9 ++++++ builtin/rev-parse.c | 5 ++-- builtin/shortlog.c | 2 +- oss-fuzz/fuzz-commit-graph.c | 1 + parse-options-cb.c | 3 +- path.c | 53 ------------------------------------ path.h | 1 - remote-curl.c | 19 ++++++++++++- repository.c | 2 -- setup.c | 53 ++++++++++++++++++++++++++++++++++++ t/t0003-attributes.sh | 15 ++++++++++ t/t0040-parse-options.sh | 17 ++++++++++++ t/t1500-rev-parse.sh | 6 ++++ t/t5550-http-fetch-dumb.sh | 15 ++++++++++ 17 files changed, 168 insertions(+), 74 deletions(-) Range-diff against v2: 1: a986b464d3 = 1: 5134f35cda path: harden validation of HEAD with non-standard hashes 2: a347c7e6ca = 2: 589b6a99ef path: move `validate_headref()` to its only user 3: c0a15b2fa6 = 3: 9a63c445d2 parse-options-cb: only abbreviate hashes when hash algo is known 4: 1b5f904eed = 4: 929bacbfce attr: don't recompute default attribute source 5: 26909daca4 = 5: 8f20aec1ee attr: fix BUG() when parsing attrs outside of repo 6: 0b99184f50 = 6: 53439067a1 remote-curl: fix parsing of detached SHA256 heads 7: ccfda3c2d2 = 7: 1f74960760 builtin/rev-parse: allow shortening to more than 40 hex characters 8: 1813e7eb5c = 8: 2d985abca1 builtin/blame: don't access potentially unitialized `the_hash_algo` 9: 31182a1fc6 = 9: f3b23d28aa builtin/bundle: abort "verify" early when there is no repository 10: 78e19d0a1b = 10: 7577b6b96c builtin/diff: explicitly set hash algo when there is no repo 11: 51bcddbc31 = 11: 509c79d1d3 builtin/shortlog: don't set up revisions without repo -: ---------- > 12: 660f976129 oss-fuzz/commit-graph: set up hash algorithm 12: e8126371e1 = 13: 95909c2da5 repository: stop setting SHA1 as the default object hash -- 2.45.0-rc1