this post was submitted on 22 Jun 2024
64 points (94.4% liked)
Programming
17519 readers
402 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I'm unfamiliar with this phrase, are you able to explain what it means (or point me towards an explanation)? Is it relating to forking?
It means, at least in the golang world, that they keep a copy of your source for themselves and use it for builds. They don't pull from the public repo every time they build their stuff, so malicious code could only get in with new versions, but they check for that.
They've checked in my code in their own repository, using an automated tool that keeps track of its origin so they can still check for updates. (The build tool knows to check this directory before trying to pull in dependencies from elsewhere)
One benefit to them is that their build won't break if I decide to delete that specific repository (see also: the left-pad incident) or do silly things with version tags (deleting versions, or re-tagging a different commit with the same version number, that sort of thing).
But more relevantly for this thread, it also means that if I release a new version and they upgrade to it, the PR on their repository won't just be incrementing a version number in
go.mod
and adding an unreadable hash togo.sum
: the diff will show all the changes I've made since the version they previously used.