this post was submitted on 02 Oct 2024
394 points (99.5% liked)
Open Source
31218 readers
303 users here now
All about open source! Feel free to ask questions, and share news, and interesting stuff!
Useful Links
- Open Source Initiative
- Free Software Foundation
- Electronic Frontier Foundation
- Software Freedom Conservancy
- It's FOSS
- Android FOSS Apps Megathread
Rules
- Posts must be relevant to the open source ideology
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
- !libre_culture@lemmy.ml
- !libre_software@lemmy.ml
- !libre_hardware@lemmy.ml
- !linux@lemmy.ml
- !technology@lemmy.ml
Community icon from opensource.org, but we are not affiliated with them.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Git being snapshot-based unlike other (better) VCSs require that patch order matter so often the easiest way to manage a project is to have some centralized authority since it is so, so easy to get merge conflicts without a central authority if trying to just distribute patches. It’s a lot easier to be decentralized without Git’s fundamental limitations.
What version control software in particular do you find better than git?
Your point about users often managing git projects via centralization is taken and valid. I was just pointing out that you don’t have to use git that way - different clones can separately develop their own features - so the earlier claim someone made that “git isn’t decentralized” is still wrong, imo.
How can I subscribe to the answer?
Darcs & Pijul are based on Patch Theory. https://darcs.net/Theory
Git is distributed but still centralized. D in DVCS is distributed. Downvoters likely have never used a non-Git VCS, let alone a non-snapshot-based VCS. But fanboys will fanboy.
Pijul & Darcs are based on Patch Theory which make the conflicts of different patch order a non-issue so long as the apply cleanly (such as working on different ports of the code base). Patch A then patch B ≡ patch B then patch A; this will be a needless merge conflict in Git since the order matters. (& no, Jujutsu isn’t the solution still shackled to the limitations of Git as a back-end while claiming to do what Pijul does—but doesn’t).
I think downvoters are just expressing disagreement with your opinion. Personally I don’t hate git but I wouldn’t call myself a “fanboy” either - I just don’t think “distributed” has to be mutually exclusive from “decentralized”, which is a term not rigorously defined in this context anyway.
But thanks for informing me about patch theory, that’s something I’ll probably make a small hobby out of studying.