Я использую git с trac.После нажатия я хочу сделать две вещи:
- Отправка электронной почты команде разработчиков с помощью diff
- Если в сообщении о коммите есть какая-то специальная фраза (например, «см. № 1»),тогда я хочу, чтобы сообщение коммита было помещено в trac ticket.
Первым делом решается git-commit-notifier.Он прекрасно работает после того, как я создал хук после получения:
#!/bin/sh
/var/lib/gems/1.8/bin/git-commit-notifier /etc/git-commit-notifier.yml
Мое второе требование может быть решено, как описано в http://trac -hacks.org / wiki / GitPlugin # post-receivehookscripts .Он также отлично работает с таким хуком пост-получения:
#!/bin/sh
/var/trac/testgit/commit-updater
Обе две вещи работают, когда они раздельные.Но мне нужно их объединить.Итак, я создал хук после получения:
#!/bin/sh
/var/trac/testgit/commit-updater
/var/lib/gems/1.8/bin/git-commit-notifier /etc/git-commit-notifier.yml
Это очень забавно, но это не работает.Команды выполняются превосходно, когда запускаются отдельно, но только первая работает, когда они помещены в крюк после получения.
Если у меня есть такой крюк:
#!/bin/sh
/var/trac/testgit/commit-updater
/var/lib/gems/1.8/bin/git-commit-notifier /etc/git-commit-notifier.yml
Я получаюследующая ошибка
/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
Но если я изменю порядок этих 2 команд, я не получу никаких ошибок, а работает только первая команда.
Буду признателен за любую помощь.Я давно пытаюсь решить эту проблему, и у меня нет идей.