Forking SBCL for Dummies

http://repo.or.cz/ hosts a git repository for SBCL and makes it easy to publish your own fork of SBCL.

Here is a quick step-by-step guide for anyone planning to have his repository hosted there. (All of this will be painfully obvious to the git experts.)

  • Register a user account. All you need is an SSH public key, no questions asked.
  • Create the fork. Find the SBCL project and go to "fork". Enter a project name for the fork and an admin password.

Done. Now you have a fork, but you need to initialize it first.

  • Go to your "Project Settings" page and add yourself as a user.

Otherwise you cannot push to your own project.

  • Push into the fork. One way to do this is to clone the normal SBCL repository, then use
    git push --all ssh://yourusername@repo.or.cz/srv/git/sbcl/yourprojectname.git

Don't forget the --all, which instructs git to push all refs. Whatever a ref is, anyway.


Attila said...

thanks for the guide!

what i'm looking for above these is a list of git commands to keep this branch up-to-date with the master.

could you please extend it for the poors who don't own the git-voodoo? :)

David Lichteblau said...

attila: So far, running

$ git pull git://repo.or.cz/sbcl

followed by

$ git push

has worked for me to merge in changes from CVS.

Juho Snellman said...

Thanks for posting this. If only I'd remembered having read it before, I wouldn't have had to ask on #lisp about that unintuitive final push --all :-)