| The roads I take... | head-to-head gaming >>

Do I wanna git more?

I've been hearing about git for a long time as I already was following LWN.net closely when all those BitKeeper vs. Linux kernel problems came up and Linus started to work on a replacement. Meanwhile, over just two years, that technology has matured enough that it's being used by a wide rage of projects nowadays.

While the Mozilla project will use Mercurial ("hg") in the future, I suggested trying git a few times and probably annoyed decision makers a bit with that, but our big problem is that we need decent support on Windows, and git is not there yet (even though current development looks promising for the future). Mercurial is probably a good choice as well, interestingly it has been started about at the same time as git for practically the same reasons - and it's probably compatible in multiple ways: Not only are both distributed version control systems (DVCSes), they're both using SHA-1 hashes to identify revisions, and even screen shots of their graphical tools look similar.

In any case, I've personally never used anything else than CVS, and that aged, centralized, per-file version control system has served me well for my private projects. I understand its usage as well as its repository quite well and I hardly ever run into its real problems like file moving or such.

That said, I always found git's concept of tracking content instead of files interesting (that's why file moves are more or less irrelevant to it), and tracking changesets instead of single-file-changes could also prove useful in my personal projects. Oh, and then there's one thing that really attracts me about DCVS solutions: I'm doing lots of work when I'm on a train without a net connection, history can prove useful to have there, as well as tracking several different changes to a single file - and then I'm merging this to my other computer and two production systems (or actually, checking in to a central repository and check out on those systems, in the CVS model). And then, learning new technologies is always a good thing.

So, I had enough reasons to try out git for my personal projects, and I spent about 6 hours today figuring out how to work with it, a set of directories I wanted to import, and how to import those from CVS. So far, it looks like everything has worked. Oh, and the PHP code generating this website and blog (the CBSM system) is now running off a git checkout. :)

After some time of working with this, I'll see if I want to git even more code into such repositories - for now, let's see how this works out ;-)

Entry written by KaiRo and posted on May 5th, 2007 02:03 | Tags: CBSM, git, hg, Mozilla | 3 comments | TrackBack

Comments

AuthorEntry

Shawn Wilsher

from USA

quote
Git
I've been using git for a while now to keep a branch for each DOMi bug I tackle. It's kinda nice when you have bugs that touch the same files and want to generate a diff.
2007-05-05 04:01

Fred

quote
Do you have any links to places on the web that proved useful to you while diving into git?
2007-05-06 21:35

KaiRo

Webmaster

quote
Fred:
Mainly, the official git documentation served me well, esp. the tutorial and the git for CVS users doc.

Last edited by KaiRo at 2008-06-10 20:38

2007-05-07 01:57

Add comment