testing gitolite

WARNING: this will clobber these files and directories in your $HOME. Ideally, you should use a throwaway userid.


Running gitolite's test suite is really just a superset of trying it out safely.

To run the full test suite, create a throw-away userid, log in to it, then run these commands:

git config --global include.path ~/.gitconfig.local
git clone https://github.com/sitaramc/gitolite
cd gitolite
prove

You will get an error that forces you to read t/README and set an env var before the test can proceed. This is intentional; I've had people who don't pay attention to the "data loss" warning, and then complain that it was not prominent enough. Forcing them to read a much smaller page appears to focus their attention better!

The test suite should run fine on most recent Linuxes and Unixes. Although gitolite itself should work fine with any git after 1.6.6 or so, the test suite generally requires a more recent git.

Make sure:

  • $HOME/bin is in $PATH
  • sshd allows incoming ssh to this userid, at least from localhost

Gitolite's test suite is mostly written using tsh -- the "testing shell". Take a look at some of the scripts and you will see what it looks like. It has a few quirks and nuances, but it's fine for what I need here.

The tests also use a somewhat convoluted system of environment variables in order to run entirely as a local user, without going through ssh at all. This lets a complete test suite run in about a lot less time than it would otherwise take.

If you think that defeats the purpose of the testing, you haven't read this yet.

appendix 1 -- the clobber list

When you try out gitolite or run the test suite, the following files and directories in your \$HOME are potentially clobbered.

.gitconfig
.gitolite/
.gitolite.rc
projects.list
repositories/
.ssh/