we get signal

2007-02-25

Subversion eases the pain, Git just doesn't start

(tags work, version control, Subversion, Git, Windows, failure)

As I said I was working some abnormal hours last week at work fighting fires that I didn't start, for a change. My development area doesn't specify a software asset version control system (VCS). Well we do have a home-grown solution for binary releases, but that doesn't deal with the day to day workings. And we did have a group license for Microsoft Visual SourceSafe (gag!) and I remember using it, but even the developer/administrator of that system forgot his password! Oi oi, WTF. What do we usually do? Make LZH (ZIP-like) archives with dates and times, no branching at all. I suppose policy is left up to the groups.

So I took some initiative with my own projects, using the open-source Subversion on Debian and TortoiseSVN on Windows. No one minded. Then again no one noticed. Perhaps this is why we have lots of fires?

This current "fire", I was "pair" programming (but not Agile). Again, I reached for the VCS. My partner warmed up to the idea of source control after I showed him how easy it was to do comparison diffs and commit messages in Japanese, but I had to correct the mental damage done by VSS. "I thought when I check out something it exclusively locks it." Argh. This guy runs circles around me in analyzing source code. He is my "hero". Unlike him, normal grunts like me can't keep more than one idea in me head at a time, that why VCS is so attractive. He took every opportunity to shoot down the execution, though. "Oh you forgot to commit that?" Come on now, we're fighting a "fire" right now, I'm frazzled.

Anyway, though I've been using Subversion ever since the pre-1.0 days, I am feeling the "distributed VCS" pull. The current "fire" is not on our company LAN, so I am "offline" most of the development time. But I'm so used to the convenience of TortoiseSVN and Emacs mode psvn.el. The one DVCS system I'm keeping my eye on is called Git, which has been in use for the Linux Kernel development, so it's definately trustable. It has been out for almost 2 years, but a Windows port is just getting off the ground:

A git compiled for Windows shows at least the usage display. Yes "clone" is not "clone"

The above picture could be considered trollish because I don't have a full MinGW environment, which this implicitly requires, so I don't really know if it doesn't work or not. In fact the package producer doesn't know if it works or not. Great.

Since the concept behind Git is a "superset" of Subversion, I can convert my Subversion repositories to Git at any time. But I'll give it some more time before I consider it for normal use.