Sto usando git con trac. Dopo spinta Voglio due cose da fare:più comandi non funzionano in git post-ricezione
- l'invio di email al team di sviluppo con diff
- Se c'è qualche frase speciale nel messaggio di commit (come "vedi # 1"), allora voglio il messaggio di commit da inserire nel ticket Trac.
La prima cosa è risolta da git-commit-notifier. Funziona perfettamente dopo ho creato post-ricezione gancio:
#!/bin/sh /var/lib/gems/1.8/bin/git-commit-notifier /etc/git-commit-notifier.yml
Il mio secondo requisito può essere risolto come descriverli a http://trac-hacks.org/wiki/GitPlugin#post-receivehookscripts. Funziona perfettamente anche con tale gancio post-ricezione:
#!/bin/sh /var/trac/testgit/commit-updater
Entrambi 2 cose funziona quando sono separati. Ma ho bisogno di combinarli. Così ho creato il gancio di post-ricezione:
#!/bin/sh /var/trac/testgit/commit-updater /var/lib/gems/1.8/bin/git-commit-notifier /etc/git-commit-notifier.yml
È molto divertente, ma questo non funziona. I comandi funzionano perfettamente quando si esegue la corsa separatamente, ma solo il primo funziona quando sono inseriti nel gancio di post-ricezione.
Se ho hook:
#!/bin/sh /var/trac/testgit/commit-updater /var/lib/gems/1.8/bin/git-commit-notifier /etc/git-commit-notifier.yml
faccio visualizza il seguente errore
/var/lib/gems/1.8/gems/git-commit-notifier-0.8.0/bin/git-commit-notifier:12: undefined method `strip' for nil:NilClass (NoMethodError) from /var/lib/gems/1.8/bin/git-commit-notifier:19:in `load' from /var/lib/gems/1.8/bin/git-commit-notifier:19
Ma se cambio di ordine di questi 2 comandi non ricevo errori, ma solo la il primo comando funziona.
Apprezzerò qualsiasi aiuto. Sto cercando di risolvere questo problema da molto tempo e non ho idee.
@bessarabov: sembra che il suo tentativo di leggere da STDIN, ma non può, presumibilmente perché la prima linea è una lettura tutto. – ngoozeff
Se ngoozeff ha ragione, chiedi al tuo hook di copiare il suo stdout in un file temporaneo, quindi reindirizza il file temporaneo in ciascuno dei due comandi. – bstpierre
@ngoozeff grazie! il tuo suggerimento è corretto al 100%. =) Con l'aiuto di @bstpierre tutto funziona ora! – bessarabov