Uma abordagem limpa é criar o novo repositório vazio e fazer o seguinte:
Assumindo que o antigo é ANTIGO e o novo (vazio) é NOVO:
# 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 você pode usar diretamente o repo remoto para OLD:
# mkdir /tmp/1
# cd /tmp/1
# git clone NEW_REPO new
# cd new
# git pull OLD_REPO
# git push origin master
Isso manterá todo o histórico e permitirá que o gitolite cuide de seus componentes internos. Além disso, você terá que atualizar gitolite-admin, mas não há limitação no pedido.
Isso também funciona remotamente sem problemas.
A exclusão do repositório OLD deve ser feita de acordo com as instruções do gitolite (localmente).