Bill Clementson's Blog

Bits and pieces (mostly Lisp-related) that I collect from the ether.

January 2008
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Dec  Feb

Git for SBCL Hackers

Friday, January 18, 2008

A number of SBCL hackers have been using the Git SCM utility. Now, SBCL isn't "officially" maintained with Git (SBCL's "home" repository is in CVS); however, there are a lot of reasons why developers prefer Git. The GNOME developers (for example) were in a similar situation to the SBCL developers and the following lists some of the reasons why GNOME developers found Git compelling:

So, a number of the SBCL developers find it convenient to use a Git repository when working on SBCL. There are actually (at least) two public "mirror of CVS" Git repositories available:
  1. Andreas Fuchs' Git repository: git://sbcl.boinkor.net/sbcl.git
  2. Nikodemus Siivola's Git repository: git://repo.or.cz/sbcl.git
Actually, the second Git repository is just a mirror of the first. Andreas Fuchs' Git repository gets updates from the SBCL CVS repository approximately every hour. SBCL developers who work against one of the SBCL Git repositories don't actually "push" their changes to that repository when ready to commit them. Instead, they create (using git-cvsexportcommit) a patch that is applied to the CVS version of SBCL and the changes are propagated back to the Git repositories when the next hourly refresh of the public Git repositories is done. So, they get some of the benefits listed above even though they must commit their changes to CVS in order to push them into the main SBCL development tree.

Nikodemus Siivola has written an excellent Git for SBCL Hackers document (it's actually included in the "doc" directory of the SBCL install; however, I've included a link to the CVS version of the document so that you can read it online without having a copy of the SBCL source on your machine). For anyone interested in hacking SBCL and wanting to use Git, that document is a great resource. Some other posts that talk about using Git with SBCL are: Some resources that I've found useful for learning/understanding Git are: On a related note, a while ago, I wrote a post titled Getting Git on Mac OS X describing the steps I went through to install Git on my Mac. Since then, I upgraded to an Intel Mac and Leopard. At the time, I used the MacPorts version of Git; however, this time I was able to just go through the normal build process. So, using Git on a Mac is now even easier.

emacs Copyright © 2008 by Bill Clementson