Gerrit/Alternatives à git-review
Si l'installation de git-review n'est pas possible pour vous, vous pouvez également utiliser le Git simple. C'est parfois une meilleure option si git-review ne correspond pas à votre flux de travail.
Configurer
Télécharger le script de l'accroche commit-msg à partir de gerrit:tools/hooks/commit-msg et enregistrez-le dans le sous-répertoire .git/hooks/
de votre copie clonée du dépôt.
Il y a trois manières de faire cela :
Utiliser curl
cd myrepo/
curl https://gerrit.wikimedia.org/r/tools/hooks/commit-msg > .git/hooks/commit-msg
Marquer le fichier comme étant exécutable. Sous Linux vous pouvez modifier cela avec :
chmod u+x .git/hooks/commit-msg
Utiliser wget
cd myrepo/
wget -P .git/hooks https://gerrit.wikimedia.org/r/tools/hooks/commit-msg
Marquez le fichier comme étant exécutable. Sous Linux vous pouvez modifier cela avec :
chmod u+x .git/hooks/commit-msg
Utiliser le navigateur web
Choisir Enregistrer la cible du lien sous... dans la menu contextuel lors du clic-droit sur ce lien : gerrit:tools/hooks/commit-msg
Enregistrez le dans myrepo/.git/hooks/
Validation
Chaque fois que vous validez une modification localement, le script de l'accroche ajoutera automatiquement un Change-Id unique au message de validation.
Pousser pour relecture
Ajouter l'alias Git suivant pour simplifier la commande pour pousser les modifications dans Gerrit pour la relecture. Vous pouvez le faire en exécutant ce qui suit :
git config --global alias.push-for-review "push gerrit HEAD:refs/for/master"
Si vous avez un origin distant unique, alors dans la commande ci-dessus remplacer gerrit par origin :
git config --global alias.push-for-review "push origin HEAD:refs/for/master"
La partie refs/for/
est un préfixe de branche virtuelle utilisé par Gerrit.
Cependant, vous pouvez remplacer master par une autre branche distante vers laquelle vous souhaitez faire vos commit.
Ex. : lorsque vous essayez de pousser vers la branche distante Foo
, utiliser refs/for/Foo
.
Pousser une validation dans Gerrit avec :
git push-for-review
Si vous voulez regrouper quelques modifications liées (lorsque vous travaillez sur une fonctionnalité ou simplement pour les rendre recherchables dans Gerrit), vous pouvez les pousser sous le même sujet en utilisant refs/for/Foo%topic=sujet
, par exemple :
git push gerrit HEAD:refs/for/master%topic=T12345
git push gerrit HEAD:refs/for/master%topic=my-feature