Alecs' Blog Did you ever go clear..

Play with git

No free BK available, no commercial license provided, no existing SCM tools satisfied per se, Linus coded up his new toy: git.

Git aint a full-featured SCM by and of itself while yet a good one will be built on top of it. It's, as said by Linus, more like a filesytem/database. The main idea of git is all files are content addressable by a SHA1 hash of its content plus other info. And Linus conerns speed and performace very much. Linus' README is the best ref for the underlying workflow (source code the best ref for details ;) . Well, no wonder, git is a decentralized (like BK in this sense, compared to CVS or Subversion).

And pasky's maintaining a pasky-branch of Linus' git. It provides various extra stuff like shell scripts for easing common tasks like diff, commit, patch, log, etc. Pasky's README is a good place to start. There are also two web interfaces for git: gitweb (written in perl) and wib (written in python).

Git evolves very quickly and its mailing list is high volume. Many people send various patch and/or suggestions to Linus & pasky. And git is still evolving and getting polished.

For a two-week-long project, it has evolved too fast. =) Linus already made the first "git" kernel release (Linux 2.6.12-rc3) out.

You can give pasky-git a whirl if you aint very hardcore (which means you dont want to try those kinda low-level stuff like read-tree, commit-tree, update-cache, directly). git scripts feel much like cvs commands, ie. git log, git add, gid diff, git commit, etc. Yes, for this kind of decentralized SCM, merging is most important. I have played a while with git's merging function, not bad.

And here's my trivial patch (generated by git ;) to pasky-git for making it more portable (tested on fbsd & linux). Have fun. =)

Update You can download Kay's from his ftp. I downloaded and configed one here at linuxfire. Elegant, indeed.

Update II Pasky just renamed his branch of git to cogito, and its main site has been moved to (rsync url changed as well, see README).

Update III Kay has updated his tool which supports RSS feed now. And now provides a web interface to several git trees. Here at linuxfire, i also updated the

btw, the new assumes directory hierarchy is arranged like, so i just added some symblic links here to make it work.

Update IV updated again. no hierarchy hassles. more clean & elegant.

21 Apr 2005

Fork me on GitHub