Live data from Hacker News

Git 2.11 has been released

github.com

11–20 of 68 posts

Re: Git 2.11 has been released

#11
It's been a while since I looked into what Git was up to in the latest version.

The release notes mentioned protocol improvements with git-filter that can dramatically speed up git-LFS (the large file storage plugin).

Does anyone know if there are any plans to make git-LFS part of the base instead of an add on?

Re: Git 2.11 has been released

#12

This is a really well written partial set of release notes. I was curious and looked at the full release notes [1], and I think these are pretty well written as well. I'm very impressed, especially given that git has such a large set of contributors. [1]: https://github.com/git/git/blob/v2.11.0/Documentation/RelNot...

I liked this gem in L547:

> The code that we have used for the past 10+ years to cycle 4-element ring buffers turns out to be not quite portable in theoretical world.

Re: Git 2.11 has been released

#13

Converting to and from base 36 (or 32) would probably do more to help the problem than any heuristics. Compare: 66c22ba6fbe0724ecce3d82611ff0ec5c2b0255f to: c04bo5604v5qsp6asgasjp9y4paxu8v That's approx a 25% gain in compactness.

https://github.com/thanatos/baseunicode

Re: Git 2.11 has been released

#14

Converting to and from base 36 (or 32) would probably do more to help the problem than any heuristics. Compare: 66c22ba6fbe0724ecce3d82611ff0ec5c2b0255f to: c04bo5604v5qsp6asgasjp9y4paxu8v That's approx a 25% gain in compactness.

That's an interesting thought, and I don't feel there's any advantage in the text being in hex.

The only problem would by now probably too much code expects hex, so I'm not sure the gain is big enough to go through the pain of the switch.

Re: Git 2.11 has been released

#15
post #5

Hexadecimal dumps of binary data are the worst of all worlds if used as keys/references. Hard to memorize, hard to type, look ugly, aren't compact. Better alternatives: Base64 without padding: compact. Grouped decimals: slightly less compact than hexadecimal, but extremely easy to type and pronounce. E.g. 577-467-341-467

Still better is grouped alphanumeric without potentially ambiguous characters (ie. generate number-1's but not letter-I's, generate number-0's but not letter-O's). I wrote a disambiguation library based upon the checksums present in IBAN @ https://github.com/globalcitizen/php-iban .. it's surprising how accurate the mistranscription suggestions are.

In general, pure-number systems are better if possible, but where you have issues squashing in enough data in suitably compact form, transitioning to alphanumeric is better.

You can also consider the use prefix-based systems, either utilizing temporal epochs or node-specific prefixes, both of which can utilize readable aliases.

Finally, for anything expecting human transcription, checksum systems are awesome!

Re: Git 2.11 has been released

#16

I'm curious but not motivated enough to really search for it, but for ambiguous hash abbreviations, why not select the oldest, since presumably it was unique at the time it was created? edit: I guess that information must not exist or I assume they'd be doing it.

That heuristic would work most of the time. But it rests on the assumption that "if commit A has an older timestamp than commit B, then any user who saw commit B must have also seen commit A", which is not reliable in a distributed version control system.

It seems safer to just explicitly tell the user when they're trying to work with an ambiguous hash.

Re: Git 2.11 has been released

#17
post #5

Hexadecimal dumps of binary data are the worst of all worlds if used as keys/references. Hard to memorize, hard to type, look ugly, aren't compact. Better alternatives: Base64 without padding: compact. Grouped decimals: slightly less compact than hexadecimal, but extremely easy to type and pronounce. E.g. 577-467-341-467

Being able to easily copy/paste the string is important. The string should be a word so double clicking selects the full string. Maybe base62?

Re: Git 2.11 has been released

#18
post #5

Hexadecimal dumps of binary data are the worst of all worlds if used as keys/references. Hard to memorize, hard to type, look ugly, aren't compact. Better alternatives: Base64 without padding: compact. Grouped decimals: slightly less compact than hexadecimal, but extremely easy to type and pronounce. E.g. 577-467-341-467

Still better is grouped alphanumeric without potentially ambiguous characters (ie. generate number-1's but not letter-I's, generate number-0's but not letter-O's). I wrote a disambiguation library based upon the checksums present in IBAN @ https://github.com/globalcitizen/php-iban .. it's surprising how accurate the mistranscription suggestions are. In general, pure-number systems are better if possible, but where yo…

Afaik the Damm algorithm is the best for checksums https://en.wikipedia.org/wiki/Damm_algorithm

Re: Git 2.11 has been released

#20

This is a really well written partial set of release notes. I was curious and looked at the full release notes [1], and I think these are pretty well written as well. I'm very impressed, especially given that git has such a large set of contributors. [1]: https://github.com/git/git/blob/v2.11.0/Documentation/RelNot...

Another nice writeup from Atlassian:

https://news.ycombinator.com/item?id=13066516

Post reply on HN