Top
Best
New

Posted by birdculture 12/26/2025

Package managers keep using Git as a database, it never works out(nesbitt.io)
784 points | 465 commentspage 5
drzaiusx11 12/26/2025|
One of the first things I did at my current place of employment was to detangle the mess of gemfile git dependencies and get them to adopt semver and an actual package repo. There were so many footguns with git dependencies in ruby we were getting taken down by friendly fire on the daily...
skywhopper 12/26/2025||
Not sure I can agree with the takeaway. It works well at first, but doesn’t scale, so folks found workarounds. That’s how literally every working system grows. There are always bottlenecks eventually. And you address them when they become an issue, not five years earlier.
dromologist 12/26/2025||
We wanted to pull updated code in our undockerized instances when they were instantiated, so we decided to pull the code from GitHub. Worked out pretty well though after a thousand trials we got a 502 and now we're one step closer to being forced into a CD pipeline.
schnatterer 12/28/2025||
> Even GitOps tools that embrace git as a source of truth have to work around its limitations

I'd say this only applies to huge scale (or monorepos, as mentioned in the article). Another workaround might be gitless gitops via OCI.

pizlonator 12/26/2025||
What is the alternative?

"Use a database" isn't actionable advice because it's not specific enough

yawaramin 12/27/2025|
Use an SQLite database file, stream out delta updates to clients using zipped plaintext or Litestream or something.
holyknight 12/26/2025||
It’s basically the same thing that always happens when you choose a technology because it’s convenient rather than a great fit for your problem. Sooner or later, you’ll hit a wall. Just because you can cook a salmon in your dishwasher doesn’t mean you should.
ferfumarma 12/27/2025||
I love this write-up. As a non-expert user of package managers I can quickly understand a set of patterns that have been deeply considered and carefully articulated. Thanks for taking the time to write up your observations!
rldjbpin 12/27/2025||
the title and core argument do not seem to align much. subject is git, but most discourse is around github. the role discussed is for serving packages, while the title refers to it as "database".

regardless of the semantics, git is not ideal for serving files. this has been more apparent in the ai world, where extensions such as git lfs has allowed larger file size.

but as seen elsewhere, network effects trump over any design issues. we can always introduce an "lfs" for better shallow fetching (cached? compressed?) and this would resolve a majority of the op's grievences.

xpressvideoz 12/26/2025||
The article lists Git-based wiki engines as a bad usage of Git. Can anybody recommend alternatives? I want something that can be self-hosted, is easily modified by text editors, and has individual page history, preferably with Markdown.
More comments...