Un enfoque limpio es crear el nuevo repositorio vacío y luego hacer lo siguiente:
Suponiendo que lo viejo es VIEJO y lo nuevo (vacío) es NUEVO:
# 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
O puede usar directamente el repositorio remoto para OLD:
# mkdir /tmp/1
# cd /tmp/1
# git clone NEW_REPO new
# cd new
# git pull OLD_REPO
# git push origin master
Esto mantendrá todo el historial y permitirá que gitolite maneje sus aspectos internos. Además, tendrá que actualizar gitolite-admin, pero no hay limitación en el orden.
Esto también funciona de forma remota sin problemas.
Sin embargo, la eliminación del repositorio VIEJO debe realizarse según las instrucciones de gitolite (localmente).