私はtracでgitを使用しています。プッシュした後、2つのことを実行したいと思います。
- diffを使用して開発チームにメールを送信する
- コミットメッセージに特別なフレーズがある場合(「#1を参照」など)、コミットメッセージをtracチケットに配置する必要があります。
最初のことはgit-commit-notifierによって解決されます。受信後のフックを作成した後は、完全に機能します。
#!/ bin / sh /var/lib/gems/1.8/bin/git-commit-notifier /etc/git-commit-notifier.yml
私の2番目の要件は、http: //trac-hacks.org/wiki/GitPlugin#post-receivehookscriptsで説明されているように解決できます。また、このような受信後のフックでも完全に機能します。
#!/ bin / sh / var / trac / testgit / commit-updater
2つは、別々の場合に機能します。しかし、私はそれらを組み合わせる必要があります。だから私はポストレシーブフックを作成しました:
#!/ 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:nil:NilClassの未定義のメソッド `strip'(NoMethodError) /var/lib/gems/1.8/bin/git-commit-notifier:19:in`load'から /var/lib/gems/1.8/bin/git-commit-notifier:19から
しかし、この2つのコマンドの順序に変更してもエラーは発生しませんが、最初のコマンドのみが機能します。
助けていただければ幸いです。私は長い間この問題を解決しようとしていますが、私には考えがありません。