Hacker News new | ask | show | jobs
by anticrisis 1544 days ago
For a small team, you could look at fossil: https://fossil-scm.org. It’s what SQLite team uses.
3 comments

Oh hey, i think there was a post about Fossil here on HN a few days ago: https://news.ycombinator.com/item?id=30815693

It is most certainly a nice project and i'm all for alternatives to Git, but for many people having to give up their current tooling (e.g. IDE integrations, specific tools for graphical graphs, interactive staging of chunks, rebasing etc.) would probably be a non starter, since it's another source control system entirely, instead of a front-end/enhancement of what Git provides (e.g. ticketing, wikis, merge/pull request discussions, CI etc.).

Here's hoping that Fossil has a nice future ahead of it, there is certainly a number of projects that would benefit from it's relative simplicity when compared to Git!

Also their docs are pretty simple to understand: https://fossil-scm.org/home/doc/trunk/www/permutedindex.html

Though personally i really liked the more visual nature of SourceHut's page: https://sourcehut.org/

You can actually mirror a fossil repository to Git and use any of Git's downstream capabilities.

https://fossil-scm.org/home/doc/trunk/www/mirrortogithub.md

There was some muttering on the fossil site somewhere about supporting git format. Darcs was another thing like that, which was superior to git in most ways I can think of, while fossil has an anti-rebasing ideology that makes it unacceptable for certain types of git workflow. I don't know how that can be resolved while switching to git format. I do like integrating issue tracking with source control.
Unfortunately darcs suffered from the patch-of-doom problem, where if you were unlucky an exponentiation merge would kill all performance of your repository.

The darcs FAQ from 2012 reports it as still unfixed:

http://darcs.net/FAQ/Performance#is-the-exponential-merge-pr...

(Yes this was real, and yes we hit it. I liked the patch-centric darcs approach, but that was enough to make us migration to mercurial, then later git.)

The IDE integrations bit is the most difficult thing for me; there was a fossil plugin for Jetbrains IDEs/IntelliJ, but it stopped being maintained, I maintained it a bit, but a large breaking change meant I didn't have enough time to keep it up, so I had to migrate away. I love fossil, but some things are difficult without a community around it developing the tools for it.
There is a VS Code extension that integrates fossil, and it works almost identically to the git integration, for the most part.
The Tcl dev team uses it as well. They seem to like it.
Have you used it?

It's not for the general mass to say the least. You're better off using other focused products for each components than something that does everything in average ways.

The visual looks like they combined components from 20 years ago.

I use it every day for personal projects. Since I’ve been writing code for more than 20 years, the aesthetics aren’t as relevant to me. It’s a useful tool that works quite well. It’s not trying to win this year’s design competition.