- fix them - but (at the cost of some efficiency) try to compensate if the admin did not follow those instructions, by running hook_1 anyway
1.7 KiB
rare or one-time activities
#existing moving existing repos into gitolite
On the server:
-
move the repos to
$HOME/repositories
. -
make sure that:
- they are all bare repos
- all the repo names end in ".git"
- all the files and directories are owned and writable by the gitolite hosting user (especially true if you copied them as root)
-
run
gitolite setup
. If you forget this step, you can also forget about write access control!
Back on your workstation:
-
[add them][repos] to conf/gitolite.conf in your clone of the admin repo, then commit and push the change.
If the repos are already covered by some [wild][] pattern, this is optional.
#moving moving servers
This is adapted from the "migrating" section of the [install][] page; if you're actually migrating from g2 please go there!
Nothing in any of the gitolite install/setup/etc will ever touch the data in
any repository except the gitolite-admin repo. The only thing it will
normally touch is the update
hook. So one fool-proof way of "moving"
servers is this (untested but should work; feedback appreciated):
-
Install gitolite on the new server, using the same key for the admin as for the old server.
-
Copy the [rc][] file from the old server, overwriting this one.
-
[Disable][writable] the old server so people won't push to it.
-
Copy all the repos over from the old server, including gitolite-admin. Make sure the files end up with right ownership and permissions; if not, chown/chmod them.
-
On a clone of the old gitolite-admin, add a new remote (or change an existing one) to point to the new server. Then
git push -f
to this remote. -
On the server, run
gitolite setup
.