News for hackers. Stuff that matters.
Re:Git archive checksums may change by vlovich123 on Monday January 30, 2023 @05:17PM (#34587277)
Hyrum's Law strikes again. It kind of doesn't matter what you document. If you weren't randomizing your checksum previously [1], you can't just spring this on the community and blame it for the fallout. I'm more shocked that there's resistance from the GitHub team saying "but we documented this isn't stable". Default stance for the team should be rollback & reevaluate an alternate path forward when the scope is this wide (e.g. only generating the new tarballs for future commits going forward).

[1] Apparently googlesource did do this and just had people shift to using GitHub mirrors to avoid this problem.

Re:Git archive checksums may change by blueflow on Monday January 30, 2023 @05:37PM (#34587556)
But look at it from the other side. Users that don't read your documentation and expect your software to work like they imagined are just a huge pain in the ass.
Re:Git archive checksums may change by kkirsche on Monday January 30, 2023 @05:55PM (#34587812)
This. You have to draw the line somewhere. Was this specific choice that line? Maybe not, but sometimes users aren’t right and changes just need to occur to ensure other asks from the same users can be delivered.
Re:Git archive checksums may change by mr_toad on Monday January 30, 2023 @06:01PM (#34587889)
Give a man a fish and he’ll assume he’s entitled to a lifetime supply of free fish.
Re:Git archive checksums may change by dataflow on Monday January 30, 2023 @06:30PM (#34588248)
This has nothing to do with free vs. paid? The question is whether giving someone 99 of the same fish entitles them to expect the 100th one you throw in to be the same kind of fish, whether they paid for it or not.
Re:Git archive checksums may change by vlovich123 on Monday January 30, 2023 @06:13PM (#34588033)
Fact of life: the vast majority of your users do not read your documentation (or do not do so carefully enough that what you put in your docs is an ironclad proof that all users adhere to). That's literally what Hyrum's law is about. Of course, you can choose to do whatever you want. It's valuable to recognize of course that you're trading off good will from your users with whatever technical improvement is getting made. Sometimes it's appropriate and inevitable (e.g. old behavior is just wrong or harmful and better to cut off). In the vast majority of cases though it's better to just have a better process in place to manage this with minimal disruption, identifying and communicating with broken users, and only then making that change.
Re:Git archive checksums may change by blueflow on Monday January 30, 2023 @06:30PM (#34588247)
Thats support you could expect if you paid for it.
Re:Git archive checksums may change by vlovich123 on Monday January 30, 2023 @06:44PM (#34588423)
Look. Even vcpkg broke which is a Microsoft product. I agree that there can be a continuum some times, but can we agree that this specific instance isn't anything like that? Even without vcpkg, the list of things impacted are anything that depends on Bazel, homebrew, conan, etc. The blast radius is quite wide regardless of documentation.
Re:Git archive checksums may change by ilyt on Monday January 30, 2023 @10:37PM (#34590573)
Aint nobody give a shit about you if you aren't bringing five or six figures as customer. Nobody is stopping rewrite that happened to break undocumented stuff you relied on if you $10/mo.

This case is different as breakage probably affected github/microsoft themselves

Re:Git archive checksums may change by dataflow on Monday January 30, 2023 @06:28PM (#34588214)
I don't think expecting users to go look for a user manual on each website whose links they download from is a realistic expectation.
Re:Git archive checksums may change by blueflow on Monday January 30, 2023 @06:33PM (#34588287)
Worse, you can't expect other people to host your data for free, forever. If you want your data distributed, you need to check first if the platform is suitable for your purposes.
Re:Git archive checksums may change by dataflow on Monday January 30, 2023 @06:38PM (#34588349)
I don't believe paid users saw any different behavior here?
Re:Git archive checksums may change by ZephyrBlu on Monday January 30, 2023 @06:54PM (#34588545)
You just described >90% of users. Everyone does this for something, most people do it for most things.

You minimally read the docs, get something working and then leave it alone. Of course you're going to be pissed off when an implicit assumption which has been stable for a long time is broken.

Re:Git archive checksums may change by grepfru_it on Tuesday January 31, 2023 @02:45AM (#34592457)
>Of course you're going to be pissed off when an implicit assumption which has been stable for a long time is broken.

This accurately describes my beef with golang

Re:Git archive checksums may change by missingdays on Tuesday January 31, 2023 @03:31AM (#34592727)
Yes, but if you implement the checksum algorithm for GitHub archives, shouldn't you read the documentation about archives checksum?
Re:Git archive checksums may change by JonChesterfield on Tuesday January 31, 2023 @06:40AM (#34593912)
Turns out scripts contain download an archive from github and check against a hardcoded checksum copy&pasted into that script. All of those broke. None of the authors will have looked up exactly how github had calculated said checksum.
Re:Git archive checksums may change by lupire on Monday January 30, 2023 @07:55PM (#34589233)
If you don't want users, feel free to ignore them.
Re:Git archive checksums may change by ilyt on Monday January 30, 2023 @10:54PM (#34590748)
I'd imagine they broke their own stuff doing it, considering npm broke on it
Re:Git archive checksums may change by throwawaylinux on Tuesday January 31, 2023 @02:38AM (#34592415)
If your product supports some particular behavior, it will be used regardless of what you document.

Microsoft was once renown for bug-compatibility so as not to break their users'. The new wave of movers and breakers would forget that wisdom at their peril.

Re:Git archive checksums may change by KyeRussell on Tuesday January 31, 2023 @04:48AM (#34593243)
Do you work for Google?
Re:Git archive checksums may change by sneak on Monday January 30, 2023 @05:22PM (#34587329)
It's Microsoft. Just as the Apple of today is not the Apple of ten years ago, the GitHub today is not the GitHub of ten years ago. It's literally different people.

The people who made the things you love have mostly moved on, and the brand is being run by different people with different values now.

There's a little bit of an argument that such things are a bait-and-switch, but such is the nature of a large and multigenerational corporation.

Re:Git archive checksums may change by naikrovek on Monday January 30, 2023 @06:10PM (#34587999)
The Microsoft of today isn't the Microsoft of 10 years ago, either, but that doesn't stop anyone from assuming that today's Microsoft is the same as the Microsoft of 10 years ago.

the logic people use to blame Microsoft is intense, man. literally any logical leap is valid except one that absolves Microsoft of anything, no matter how small.

Re:Git archive checksums may change by katbyte on Tuesday January 31, 2023 @02:29AM (#34592344)
Trust is lost quickly and easily and earned back slowly with great difficulty
Re:Git archive checksums may change by naikrovek on Tuesday January 31, 2023 @05:40AM (#34593549)
yeah I don't trust slashdot people either.
Re:Git archive checksums may change by daniealapt on Monday January 30, 2023 @05:44PM (#34587642)
Re:Git archive checksums may change by nilsbunger on Monday January 30, 2023 @06:02PM (#34587905)
This is especially true of something like a git SHA, which is drilled into your head as THE stable hash of your code and git tree at a certain state. It should be expected that lots of tools use it as an identifier -- heck, I've done so myself to confirm which version of a piece of software is deployed on a particular machine, etc.
Re:Git archive checksums may change by Denvercoder9 on Monday January 30, 2023 @06:15PM (#34588064)
The Git commit hashes didn't change (that'd actually be a serious problem). The hash of a compressed archive of the contents of a Git commit changed.
Re:Git archive checksums may change by vlovich123 on Monday January 30, 2023 @06:14PM (#34588048)
To be fair this isn't the git SHA. This is the generated archive (apparently dynamically per request) when you ask for a source tarball.
[dead]
Re:Git archive checksums may change by thirtyseven on Monday January 30, 2023 @07:43PM (#34589124)
The people that this broke weren't directly depending on the output of git archive being stable, but were assuming that the response data for a particular URL would stay constant. Maybe not a great idea either but not entirely unreasonable IMO.
Re:Git archive checksums may change by nilsbunger on Tuesday January 31, 2023 @05:04AM (#34593343)
Oh interesting. But if an archive hash isn’t stable, how is it meant to be used? What’s it good for?
Re:Git archive checksums may change by hobofan on Tuesday January 31, 2023 @12:34AM (#34591581)
This isn't even a case of "we didn't documented this".

I know that the Bazel team reached out to GitHub in the past to get a confirmation that this behaviour could be relied on, and only after that was confirmed did they set that as recommendation across their ecosystem.