Playing with git

A few years, ago, I decided that there were way too many SCM systems out there, and that I'd give the war of the SCMs some time before deciding on which one I'd use. Mean time, I did spend some time with subversion, since, well, CVS sucks my pants off, subversion is quite a bit better, and easy enough to understand for those of us who are already familiar with CVS.

But it still sucks. I often find myself on the train, wanting to do an svn commit, and not being able to. svk helps, but not by much.

I didn't spend much time during the past years in trying to wrap my head around one of the distributed SCMs; partially because I was somewhat coping, and partially because the above-linked blog post was written in response to me running away scared aftery trying to understand arch. I should have shoved arch up Tom Lord's <censored> years ago.

So, anyway, I don't think "The World" has made a choice yet, and I don't think it ever will. However, it seems clear that git is a pretty popular choice these days; and, well, if a project the size of the Linux kernel is using it, then it must be good, right?

Right. So I gave it a shot. After reading the tutorial, I can already honestly say I like it. The tutorial links to a number of different pages, most of which give a set of standard workflows for different ways of interacting with git. Exactly what I needed!

I should've done this years ago.

Anyway. I'm now considering switching the NBD repository over from svn to git, which should help ensure that patches which are important for several branches are applied to all of them (this requires much more manual work in subversion). Before taking that step, however, I'll have to make sure I fully understand the thing; after digging through docs for "only" an hour or so, I can't say I do.