Re: [PATCH] abbrev: allow extending beyond 20 chars to disambiguate
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 11, 2025, 21:25 UTC
- Message-ID
- <xmqq4iud1rfm.fsf@gitster.g>
- In-Reply-To
- <aJpd2MYMWgEoxQWi@fruit.crustytoothpaste.net>
"brian m. carlson" <sandals@crustytoothpaste.net> writes:
Show 7 quoted lines
> On 2025-08-11 at 15:26:32, Junio C Hamano wrote: >> When you have two or more objects with object names that share more >> than half the length of the hash algorithm in use (e.g. 10 bytes for >> SHA-1 that produces 20-byte/160-bit hash), find_unique_abbrev() >> fails to show disambiguation. > > Is this really the case?
What I wrote in the above is correct.
> If the restriction is due to using > GIT_MAX_RAWSZ instead of GIT_MAX_HEXSZ, then that's 32 vs. 64 in our > modern codebase.
The above numbers are correct but irrelevant ;-).
The thing is, the offending commit changed from 40-bytes (GIT_SHA1_HEXSZ) to 32-bytes (GIT_MAX_RAWSZ). Plase see v2 patch.
Thanks.