Xojo Inc. released a video on source control on YouTube today. That got me curious: What version control software do you use?
- Subversion
- git
- Mercurial
- some other
- or none at all?
For many years I used a combination of standard backups and taking “snapshots” (ZIP files where I added a timestamp to the name) several times a day. This system worked in a way, but was lacking in some important areas.
Then I started using Subversion. Maybe because it was the very first version control software I used, but I found it overly complicated, bloated in some areas, and lacking in others. I haven’t looked at it for years, but back then it didn’t have a ticket/bug-tracking system for example. There was some 3rd party tool (“trac” IIRC) that could be installed “on top” of Subversion, but it didn’t have an easy installer, and I didn’t have the patience/knowledge to configure its install scripts.
So after a few months I started using Mercurial. While I found it easier to use in many aspects, it too didn’t have a ticket system. And soon the GUI I used (Sourcetree) became commercial (or at least some advanced functions were moved to a “pro” version). Also development in regards to Mercurial seemed to stop for a while, when they added support for git. Or that’s how I remember it.
At this point I went back to my trusted system of backups and snapshots.
Some time later I came across “fossil” (https://fossil-scm.org). For those who don’t know, this is made by the same guy who creates SQLite. It was originally written to version control SQLite. So SQLite is version controlled by fossil, and fossil uses SQLite to store its data. Talk about eating your own dog-food…
It comes with an integrated server, ticket system, forum, wiki and what they call “embedded documentation”. It may not have a shiny GUI (just a simple web UI) and you’ll need to use the Terminal/Shell for most VC work. And yes, there are ticket systems and forums with more functionality.
But for me as a single programmer (and for smaller teams) fossil brings everything I could want. It’s small, comes as a single(!) executable file and is easy to install:
- Download
- Unpack
- Run
Of course, over time you’ll want to configure fossil to your needs, and you can relatively easy do this. But to get you started, those three steps are all it takes.
So, I’ve found my version control system in fossil. I’ve never since looked at other VCSs.
Sorry, this wasn’t intended to be an ad…