Version Control in Your Workflow

A List Apart has an article about using Subversion to help with collaboration, especially with contract workers. Though there are some superior version control systems mentioned in the comments, like git, mercurial, or bazaar, they don not have the client support that Subversion has as of now. I especially use the Subclipse plugin for Eclipse for my work and checking code in and out of Subversion is a quick right-click away.

More importantly, how much client support for Subversion there is makes it easier to get other developers on board using it1.

The article also makes mention of Warehouse, which looks really interesting. I've used ViewVC in the past, but that does not help with administrating of the repositories, especially users and permissions.

  • 1. Yes, most developers I work with try to do as little as possible on the command line...


Git has also number of clients, which include both history viewers and commit tools. See the list at InterfacesFrontendsAndTools page at Git Wiki. For example together with git are developed and distributed gitk history viewer and git-gui commit tool (GUI), both in cross-platform Tcl/Tk.

There is ongoing work on Eclipse plugin for git (called EGit); there are Google Summer of Code 2008 projects to add Git support to KDevelop (KDE) and Anjuta (GNOME).

For ViewVC eauivalent for Git, see GitStat. Ohloh has also support for Git (but is not OSS).

Indeed, Git is the one I'm probably most interested in. Unfortunately, I got Subversion up and running at work a couple years ago just to have some kind of version control and collaboration between 5 developers; getting them to use Git then was simply not an option due to lack of support.

And EGit was what I've been paying attention to; I've settled on Eclipse for our standard development setup mainly because of built-in Subversion support. Once I can use (and get others to use) Git natively from Eclipse, I'll look even harder at it.