83 votes

Comment renommer un dépôt Git créé avec gitolite ?

J'ai créé un dépôt Git en utilisant gitolite. Maintenant, je voudrais renommer ce dépôt.

Comment puis-je le faire ?

Dans le readme de gitolite il est dit que je ne dois pas travailler directement sur le serveur. Mais je suppose que je dois travailler sur le serveur dans ce cas, non ?

132voto

takeshin Points 16579

Comme indiqué dans le manuel gitolite :

renommer un repo

Ceci est similaire ; il n'y a pas de code pour faire cela dans gitolite . Ce que vous faites est :

  • se connecter au serveur, cd $REPO_BASE (par défaut : cd ~/repositories ), et

    mv old-name.git new-name.git

  • de retour sur votre clone gitolite-admin, éditez conf/gitolite.conf et remplacer toutes les occurrences de old-name avec new-name . Puis ajouter, commiter, et pousser comme d'habitude.

L'ordre de ces 2 étapes est important, ne les inversez pas :-)

9voto

Greg Hewgill Points 356191

Je ne suis pas familier avec gitolite spécifiquement, mais une approche qui pourrait fonctionner est de créer un dépôt complètement nouveau avec le nom correct, de pousser votre code dans ce dépôt, puis de supprimer l'ancien.

0voto

acidzombie24 Points 28569

En vous inspirant de Greg Hewgill, vous pouvez éventuellement renommer le référentiel dans le fichier de configuration. Vous pouvez essayer cela sur un dépôt fictif d'abord. Je soupçonne que l'ancien nom sera supprimé, le nouveau sera créé et vous devrez mettre à jour vos origines localement puis pousser.

-2voto

V13 Points 312

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).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X