master TOC | main page | single-page | license

This is for gitolite "g3"; for older (v2.x) documentation click here

1 pre-migration checklist

This document is a MUST read if you are currently using g2 and want to move to g3.


First things first: g2 will be supported for a good long time for critical bugs, although enhancements and new features won't happen.

Migration should be straightforward, but it is not automatic. The biggest differences are in the rc file, mirroring, "NAME/" rules, and delegation.


Presetting the rc file

Some rc settings in the older gitolite are such that you cannot directly run gitolite setup when you're ready to migrate. Doing that will clobber something important. See presetting the rc file for details.


The check-g2-compat program attempts to identify any big issues you will be facing; run that first. See later in this page for what its messages mean. If it does not report any issues, your migrate will probably go quickly. I still suggest you go through the links below in case that program missed something.

1.1 incompatible features

Here's a list of incompatible features and what you need to do to migrate. Some of them have links where there is more detail than I want to put here.

1.1.1 high impact

(serious loss of functionality and/or access control compromised)

1.1.2 medium impact

(important functionality lost, but access control not compromised)

1.1.3 low impact

(ancillary, non-core, or minor functionality lost)

1.2 using the "check-g2-compat" program

This program checks a few things only, not everything. In particular, it looks for settings and status that might:

It does NOT look for or warn about anything else; you're expected to read (and act upon, if needed) the rest of the migration guide links given a few paras above to cover everything else.

Here's an explanation of those messages that the check-g2-compat program may put that contain the words "see docs":

1.3 presetting the rc file

Some rc settings in the older gitolite are such that you cannot directly run gitolite setup when you're ready to migrate. Doing that will clobber something important. You have to create a default rc file, edit it appropriately, and then run gitolite setup.

The most serious example of this is GL_NO_SETUP_AUTHKEYS, which tells the (old) gitolite that you want to manage ~/.ssh/authorized_keys yourself and it should not fiddle with it.

If you don't preset the rc (in this case, by commenting out the 'ssh-authkeys' line) before running gitolite setup, your ~/.ssh/authorized_keys file will get clobbered.

The actual rc settings that require presetting are listed in the "high impact" section above. This section tells you how to do the presetting.