Subversion, Mercurial, and Git…Oh my!
I’ve been researching versioning software pretty heavily since we do not use any at HSPH. Yes, that’s right, none. I have come to the conclusion that Mercurial works best for us.
First, why don’t we use versioning? Well, there really isn’t any good reason. The previous developer didn’t install anything. As Blain and I started working, we continued to use his processes since most of our projects were individual. So, we never had an issue.
I’ve wanted to move to something for quite a while. We had versioning at my old job. I also used it in my freelancing. We discussed it in the office. Yet, nothing happened: nothing ever broke, we had daily backups, we didn’t have the time.
We’ve since moved to more complex projects and remote employees. It’s obvious that we need to use something before an issue happens. So, with that, I started evaluating our options.
The three versioning programs looked at are Subversion, Mercurial, and Git.
We really wanted to be able to work offline for long periods. This meant we were better suited to a distributed version control system. Bye bye SVN.
The rest feels like a crap shoot. Do a Google search and you’ll see how conflicted opinions are. Mercurial and Git are both very good systems. Both are used by popular open source projects and repositories like GitHub and BitBucket. So how did I choose one over the other? The answer is simplicity and familiarity.
I’ve used Subversion before, as has Blain. Git’s learning curve is a bit steep while Mercurial syntax is very similar to SVN. And the commands are quite simple. You sacrifice some power with this (Git is very fast). But I am fine with that. We’re just doing web development. The majority of our work is in text files.
I have looked over a great tutorial and online book. My next steps are to install on my local machine and test for a bit. Then we’ll get this on our severs.
The only downside I’ve seen is GUI. MacHg looks like a nice app, but I work mostly out of Coda. It would be nice to have a plugin for Mercurial in Coda.