Une approche propre est de créer le nouveau référentiel comme un référentiel vide, puis de faire ce qui suit :
En partant du principe que l'ancien est l'ANCIEN et que le nouveau (vide) est le NOUVEAU :
# mkdir /tmp/1
# cd /tmp/1
# git clone OLD_REPO old
# git clone NEW_REPO new
# cd new
# git pull ../old
# git push origin master
Ou vous pouvez utiliser directement le dépôt distant pour OLD :
# mkdir /tmp/1
# cd /tmp/1
# git clone NEW_REPO new
# cd new
# git pull OLD_REPO
# git push origin master
Ceci conservera tout l'historique et laissera gitolite gérer ses internes. De plus, vous devrez mettre à jour gitolite-admin mais il n'y a pas de limitation dans l'ordre.
Cela fonctionne également à distance sans problème.
La suppression du dépôt OLD doit être faite selon les instructions de gitolite (localement).