Distributed Version Control Systems (DVCS) Git or Fossil?

I’ll put my cards on the table, I’m a Fossil DVCS user since 2014.

I know that most of the world uses GIT, but does that mean GIT is the best ? And if it is, what is the definition of “best” in this context ?

Best for the Linux kernel of 4 million lines of code and a thousand distributed developers perhaps ?

How about you and your two friends working on a Arduino robot with 1kb of source and schematic diagrams ?

Remember, not that long ago, and still to a great extent, most of the world uses Microsoft Windows because they believe its the ‘best’ also.

But then in 1994 Linux, Freebsd and others became available and they now have huge followings. Windows was not the first GUI operating system either, it
was proceeded by AT&T Unix around 1972.

I felt that I owe you guys the knowledge that Fossil exists so that like so many Windows users, you don’t think that GIT is the best and greatest, anointed, as it were by God, so to speak.

Fossil is the DVCS created around 2005 by D. Richard Hipp the creator of Sqlite, to manage his development of the same. If you know and have used Sqlite, then you will also know the reliability and user friendliness of Fossil.

Fossil is special in that each repository consists of only ONE file! The Fossil executable is also only ONE file. This means easy sharing and backups of ALL data. The data is stored in a Sqlite database in that ONE file also.

Fossil also contains a built in:

  • web server
  • trouble ticket system
  • wiki
  • chat server

All in the ONE system executable. Fossil is freely available for Windows, Mac, Linux, FreeBSD and will be in your repos ready to install right now.

Here are some sample pictures of Fossil on my system:

If you’re interested in Fossil see the Homepage at:

Some helpful links:

Finally, a free online Fossil server where you can store projects, look at publicly available repos and generally check out Fossil.

However installing Fossil consists of placing the Fossil exe in your path, that’s all. No libraries or deps.

And then you’ll have a web server, a CLI interface and everything you need for a DCVS.

Cheers,
Terry

Yeah, fossil is interesting. I looked it up when i saw you using it ages ago. The first version control solution that i ever used was subversion. That started to get teased by the cool kids, so i followed the pack over to git.

With new stuff like fossil i usually make up an excuse to use it and then force myself to use it until i either fall in love with it or learn why it’s not for me.

I’m using git (or gitea) to host a bunch of files that the “k3s club” will play with and share knowledge with. I’d like to learn how to use fossil as a part of a club like that one day. An arduino based project sounds like a good excuse.

I think yours is a healthy attitude James :slight_smile:

Git is the 100 pound gorilla and pressure to use it is very high for sure.

Fossil and Git are about the same age, but they have a different focus. Git was thrown together by Linus to manage the Linux Kernel and Fossil was designed for ease of use between small groups.

Of course one can learn both. I’ve learnt some Git myself, and in my opinion they are very similar in capability. I don’t think Fossil lacks anything that Git has except perhaps ‘rebasing’ which Fossil won’t do, and doesn’t need to do anyway.

Git is only promoting a weakness in its core design when it promotes ‘rebasing’.

Pop quiz: One includes and uses a database, the other doesn’t, which one doesn’t and what does it use instead ?

I guess DCVS is a religious choice now, like editors and programming languages ?

Cheers,
Terry