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 gitweb.pl 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 kernel.org (rsync url changed as well, see README).

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

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

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

21 Apr 2005

Fork me on GitHub