2011-09-01 15 views
6

esiste un modo per permettere eco gancio gitGit gancio: abilitazione eco comandi

/var/git/repositories/project.git/hooks/post-update 

#!/bin/bash 
unset GIT_DIR; 
echo '========post-update hook=========' 

cd /var/project; 
git reset --hard; 
git checkout testing; 
git pull; 
chmod -R 774 ./lib 

update-apps 

uscita git push desiderato su un'altra mashine:

#git push 
... 
Writing objects: 100% (10/10), 5.98 KiB, done. 
Total 10 (delta 3), reused 8 (delta 1) 
========post-update hook========= 
cd /var/project 
git reset --hard 
git checkout testing 
git pull 
chmod -R 774 ./lib 
update-apps 

questo è solo un esempio, effettivo catena comando può essere più complicato

e non riescono in qualche

devo reindirizzare stdout in qualche modo stderr?

UPDATE

Attualmente ho normale git push uscita e poi ========post-update hook========= ... e niente

Oh! versione git è 1.5.6.5

+1

Ma qual era il tuo output effettivo quando hai provato? –

+1

verifica che l'hook sia eseguibile (chmod + x) – sehe

risposta

3

Tutti gli output su stdout o stderr devono essere inoltrati. Si prevede che funzioni per tutti i ganci pre-receive, update, post-receive e post-update. I comandi di eco sono abilitati con set -x nella shell di Bourne.

+0

set -x: risolto il mio problema, grazie – jonny

2

Da githooks manuale:

Sia standard output e standard error vengono inoltrate a git send-pack sull'altra estremità, in modo da poter semplicemente messaggi di eco per l'utente .

Ma c'era un problema noto in alcune versioni precedenti di Git e anche nella versione precedente di Smart HTTP, per cui l'output non era inviato. Aggiorna la tua versione git e prova.

Problemi correlati