Linus on GIT on Google TechTalks
I’m a big fan of Google TechTalks and watch a lot of them during flights. This week I enjoyed the recording of Linus Torvalds insulting all kinds of people including the whole SVN develoment team while introducing his distributed source code management system GIT. Egon had pointed me to GIT quite a while ago but seeing Linus himself discuss the issue made a difference.While CDK is still considerably smaller than the Linux kernel, I can see a lot of commonalities and I think that with our current development of having our fellow coadmins review important patches and branches, GIT sounds like a much easier way to do it.
In GIT the source code is distributed – there is no concept of a central source repository. Developers commit their chances to their local GIT systems, with all the advantages of versioning and source code history. Other developers pull code from you if they think that the changes you’ve advertised via your favourite communication channels are interesting. In theory, this allows for a very democratic and evolutionary code development. In addition to being distributed, GIT seems to be very fast when it comes to merging. Linus reports that he does hundreds of full merges per day and nothing take longer than 5 secs.
In practice, as Linus points out in his talk, there will always be one or very few repositories that people pull from – for the Linux kernel it will be Linus’s machine. In CDK it will very likely be Egon‘s. Sorry Egon, you’ve got to be online all day 🙂
The last sentence already brings me to the point. I wonder if we should give GIT a try for CDK development. The advantages do sound enormous. Ok, there are disadvantage too, such as loosing the central web browsing of the SVN repository on SF. There may be ways around this, as Egon decribed here, but this seems like not using the real thing.
This is a brief impression dump after watching Linus’ talk today and I’m happy to hear your opinions 🙂