master TOC | chapter TOC | support
The method described in the previous section (setting GL_BYPASS_UPDATE_HOOK)
will work for all the repos managed by gitolite, except for the special
gitolite-admin repo. For that you will need some extra magic, because there
is also a post-update hook that runs here, and this needs additional
information which is NOT available if you bypass gitolite.
(Note: If your gitolite is too old to have the gl-admin-push program, try
gl-dont-panic; run it without arguments for usage info. If you don't even
have that, it may be best to clean things out more thoroughly!)
Use the gl-admin-push program to make changes to the admin repo directly on
the server. Here's how:
clone the repo to some safe location and cd to it:
cd /tmp
git clone ~/repositories/gitolite-admin.git
cd gitolite-admin
make whatever changes you want to that clone and commit. You can add new keys, change the conf file, or anything at all that needs fixing up. You can even reset to an older commit (rewind) if that is the simplest way to fix up some config problem that may have lost you your access.
when done, instead of git push <push arguments>, use this program
instead. For example, instead of git push -f, use gl-admin-push -f.
Note that this method will work for any repo, not just the special admin repo.