Re: [PATCH 4/4] core.abbrev: raise the default abbreviation to 12 hexdigits
- From
SZEDER Gábor <szeder@ira.uka.de>
- Date
- Sep 29, 2016, 02:44 UTC
- Message-ID
- <20160929024400.22605-1-szeder@ira.uka.de>
- In-Reply-To
- <20160928233047.14313-5-gitster@pobox.com>
Show 5 quoted lines
> As Peff said, responding in a thread started by Linus's suggestion > to raise the default abbreviation to 12 hexdigits: > > I actually think "12" might be sane for a long time. That's 48 bits of > sha1, so we'd expect a 50% change of a _single_ collision at 2^24, or 16
s/change/chance/
I know it's quoted, but still.
Show 14 quoted lines
> million. The biggest repository I know about (in number of objects) is > the one holding all of the objects for all of the forks of > torvalds/linux on GitHub. It's at about 15 million objects. > > Which _seems_ close, but remember that's the size where we expect to see > a single collision. They don't become common until much later (I didn't > compute an exact number, but Linus's 16x sounds about right). I know > that the growth of the kernel isn't really linear, but I think the need > to bump to "13" might not just be decades, but possibly a century or > more. > > So 12 seems reasonable, and the only downside for it (or for "13", for > that matter) is a few extra bytes. I dunno, maybe people will really > hate that, but I have a feeling these are mostly cut-and-pasted anyway.
I for one raise my hand in protest...
"few extra bytes" is not the only downside, and it's not at all about how many characters are copy-and-pasted. In my opinion it's much more important that this change wastes 5 columns worth of valuable screen real estate e.g. for 'git blame' or 'git log --oneline' in projects that don't need it and certainly won't ever need it.
Sure, users working on smaller repos are free to reset core.abbrev to its original value. I don't have any numbers, of course, but I suspect that there are many more smaller repos out there that this change will affect disadvantageously, than there are large repos for which it's beneficial.
Show 6 quoted lines
> And this does exactly that. > > Keep the tests working by explicitly asking for the old 7 hexdigits > setting in the fake system-wide configuration file used for tests. > > Signed-off-by: Junio C Hamano <gitster@pobox.com>