git: vide arguments en post-recevoir crochet
Je suis de l'écriture post-recevoir crochet en se basant sur les post-receive-email
script à partir de la contrib
dir, mais il semble que le oldrev
et newrev
arguments sont vides.
Le script ressemble à ceci:
#!/bin/bash
oldrev=$(git rev-parse $1)
newrev=$(git rev-parse $2)
Le script s'exécute, pousser, mais tous les $1
, $2
, $oldrev
et $newrev
sont vides. Dois-je configurer quelque chose pour le remettre en marche?
(Le référentiel a été créé par gitolite
si elle ne importe)
OriginalL'auteur takeshin | 2010-09-21
Vous devez vous connecter pour publier un commentaire.
La
post-receive
crochet ne prend aucun argument. Dit - le manuel (italiques ajoutés):OriginalL'auteur Jörg W Mittag
Je suis tombé sur ce problème lors de la configuration d'un serveur d'intégration continue. Puisque les arguments ne sont pas transmises à la post-recevoir via la ligne de commande, vous devez utiliser la commande de lecture. Voici comment j'ai fait:
OriginalL'auteur François
Il n'y a pas d'arguments si l'information est passée sur STDIN. Pour lire ces informations dans bash simplement faire ceci:
Je suis juste résumant les réponses déjà postées.
OriginalL'auteur estani
Plus élaboré la version de François de script serait
Cette version pourrait faire face à plus d'une branche et ne déclenche une version pour chaque.
OriginalL'auteur aanno
En fait, je ne l'accepte pas les "il ne prend pas d'arguments", parce que l'exemple de script de post-recevoir.l'échantillon est d'avoir le commentaire suivant:
Il est également mentionné dans le commentaire de ce script
OriginalL'auteur Dennis