installing gitolite

[Update 2009-11-18: easy install now works from msysgit also!]

This document tells you how to install gitolite. After the install is done, you may want to see the admin document for adding users, repos, etc.

There's an easy install script that requires bash (strongly recommended), but if you have no bash or you're on one of the legacy Unixes there's a slightly more manual process. Both are explained here.

In this document:


easy install

There is an easy install script that makes installing very easy for the common case. This script will setup everything on the server, but you have to run it on your workstation, NOT on the server!

Assumptions/pre-requisites:

Once you have all this, just cd to that clone and run src/gl-easy-install and follow the prompts! (Running it without any arguments shows you usage plus other useful info).

typical example run

A typical run for me is:

src/gl-easy-install -q git my.git.server sitaram

-q stands for "quiet" mode -- very minimal output, no verbose descriptions of what it is going to do, and no pauses unless absolutely needed. However, if you're doing this for the first time or you appreciate knowing what it is actually doing, I suggest you skip the -q.

advantages over the older install methods

disadvantages

manual install

If you don't have bash, it's not very complicated to do it manually. Just open the file src/gl-easy-install in a nice, syntax coloring, text editor, and follow the instructions marked "MANUAL" :-)

upgrades

Upgrading gitolite is easy.

To upgrade, pull the latest "master" (or other) branch in your gitolite repo clone, then run the same exact command you ran to do the install, except you can leave out the last argument.

And you might want to add a -q to speed things up :-)

Note that this only upgrades the software. Unlike earlier versions, it does not touch the conf/gitolite.conf file or the contents of keydir in any way. I decided that it is not possible to safely let an upgrade do something meaningful with them -- fiddling with existing config files (as opposed to merely creating one which did not exist) is best left to a human.

other notes

next steps

The last message produced by the easy install script should tell you how to add users, repos, etc., and you will find more details in the admin document.

appendix: server and client requirements

There are 3 machines potentially involved in installing and administering gitolite.

server

This is where gitolite is eventually installed. You need a normal userid (typically "git" but can be anything) on this machine; root access is not needed, but it has to be some sort of Unix (not Windows).

You need the following software on it:

install workstation

Installing or upgrading the gitolite software itself is best done by running the easy-install program from a gitolite clone.

This script is heavily dependent on bash, so you need a machine with a bash shell. Even the bash that comes with msysgit is fine, if you don't have a Linux box handy.

If you have neither Linux nor Windows+msysgit, you still have a few alternatives:

admin workstation(s)

When you install gitolite, it creates a repository called "gitolite-admin" and gives you permissions on it.

Administering gitolite (adding repos/users, assigning permissions, etc) is done by cloning this repo, making changes to a file called conf/gitolite.conf, adding users' pubkeys to keydir/, and pushing the changes back to the server.

Which means all this can be done from any machine. You'll normally do it from the same machine you used to install gitolite, but it doesn't have to be the same one, as long as your pubkey has been added and permissions given to allow you to push to the gitolite-admin repo.