4 ms·
Is fossil the main competitor to git? The "only" significantly different one?
by kzrdude 4y ago
Is fossil the main competitor to git? The "only" significantly different one?
- jrimbault 4y agoI believe the video game industry (and other industries where code co-exists with large binary assets) mostly uses Perforce and Mercurial
- maccard 4y agoGames do use perforce, yeah. Perforce is centralized, with locks - think git-lfs.
- barkingcat 4y agothis is a flawed comparison. The major competitor to git is mercurial, and while git has won the popularity contest mercurial is still in use across large projects. Java/openjdk moved from mercurial to git in the 2021 time frame. I don't believe fossil has ever been used on a scale as large as openjdk from an organizational point of view (thousands of participants in the ecosystem, across dozens of jdk implementations, across more than a dozen hardware platforms, etc) Fossil as used in sqlite vs mercurial/git openjdk repos as used across the java ecosystem - I think java is one of the projects where platform support is at least as wide as sqlite, if not greater, and the codebase is much larger and more sprawling. Facebook has moved on from mercurial as well, and it's not to fossil. Fossil is a great tool, but seeing it as "one or the other" vs git isn't useful. In particular, this guide on the fossil website is a guide for users wanting to use fossil, so git is not the only competitor, but for the purposes of fossil adopters, that web page is a great resource!
- themerone 4y agoWhere did you hear Facebook is dumping Mercurial. Last I heard they were using Rust to optimize Mercurial.
- sbuttgereit 4y agoMeta having moved on from Mercurial may be a factually true comment, but it looks like they still have fondness for Mercurial's ways: https://github.com/facebookexperimental/eden https://github.com/facebookexperimental/eden
- hinkley 4y agoI don't have any special knowledge of this, but it's possible at large companies for both to be going on. The people who don't like the tool move away, and the people who like it try to address some of the complaints to try to dissuade other people from jumping ship, and if they're very good at it, possibly convince others to come back.
- steveklabnik 4y agoAs someone who kept track of this from the outside, my understanding is that Mononoke, which was that "Mercurial server written in Rust," eventually diverged from Mercurial proper, and is now a new SCM called "eden". It's also no longer a DVCS.
- _old_dude_ 4y agoIt is still an incremental/lazy DVCS, the first checkout does not download the whole repository, but for most users it looks like a DVCS.
- steveklabnik 4y agoGotcha, I don't know about the details, I just know that their readme states very plainly that "Despite having originally evolved from Mercurial, EdenSCM is not a distributed source control system."
- danpalmer 4y agoBig tech companies often use Mercurial because it's similar enough to git that they can use much of the existing skillset of their engineers, while also modular and easy to customise to allow them to back it on to their custom source control systems.
- unwind 4y agoWikipedia lists [1] a few more: ArX, Bazaar, Mercurial and so on. Note sure which one qualifies as the "main" competitor though ... feels like an uphill battle. :) [1]: https://en.wikipedia.org/wiki/List_of_version-control_software#Distributed_model https://en.wikipedia.org/wiki/List_of_version-control_softwa...
- nestorD 4y agoIf you want a significantly different one, Pijul[0] is based on the theory of patches and has some really interesting properties (but, to be honest, it would probably take Github accepting Pijul repositories for me to use it which is a shame). [0]: https://pijul.org/ https://pijul.org/
- throwamon 4y agoDon't forget Darcs, which is the original implementation of patch theory. I read somewhere that it used to be dismissed because of quadratic complexity on some operation but that this has been solved quite some time ago. Edit: Correcting myself (and go do your own research, I'm not even remotely involved in any of these things): > Darcs 2 recently [2020] solved the exponential merge, but it is now quadratic (which is still exponentially slower than Pijul instead of double-exponentially) https://news.ycombinator.com/item?id=25473473 https://news.ycombinator.com/item?id=25473473
- ithkuil 4y agoI'd like to read more about the actual "theory of patches" but all I can find I'd rather hand-wavy high level descriptions in the docs. Is there more to read about that?