2

git リポジトリの 1 つでポスト受信フックとしてgit-multimailを使用したいと考えています (gitolite は使用していません)。残念ながら、私はそれを機能させることができず、Python を使用した経験はほとんどありません。

私がこれまでにやったこと:

  1. 次のブロックをproject.git/configファイルに追加しました。

 

[multimailhook]
    mailingList = email@example.com
    from = email@example.com
    envelopeSender = email@example.com
    mailer = smtp
    smtpServer = smtp.mydomain.com
    smtpUser = myUser
    smtpPass = myPassword

変数で定義されている「smtp」がmailer私のマシンにインストールされているかどうかはわかりません。

  1. git_multimail.py現在のファイルをにコピーしましたproject.git/hooks
  2. project.git/hook/post-receive以下の内容のファイルを作成しました。ファイルは実行可能です。これをhttps://github.com/git-multimail/git-multimail/blob/master/git-multimail/post-receive.exampleからコピーしました

 

#! /usr/bin/env python

import sys
import os
import git_multimail

config = git_multimail.Config('multimailhook')

try:
    environment = git_multimail.GenericEnvironment(config=config)
    #environment = git_multimail.GitoliteEnvironment(config=config)
except git_multimail.ConfigurationException:
    sys.stderr.write('*** %s\n' % sys.exc_info()[1])
sys.exit(1)

mailer = git_multimail.choose_mailer(config, environment)

git_multimail.run_as_post_receive_hook(environment, mailer)

何が起こるのですか:

変更をプッシュすると、ファイルproject.git/hooks/git_multimail.pycは作成されますが、電子メールは送信されません。

https://github.com/git-multimail/git-multimail/blob/master/doc/troubleshooting.rstGIT_MULTIMAIL_CHECK_SETUP=true python git_multimail.pyで説明されているように構成テストを行うと、git-multimail seems properly set up

スクリプトの出力などをログに記録する方法はありますか? 何が機能していないかを調べるにはどうすればよいですか? 私のファイルにもエラーがありますか?

前もって感謝します。

4

2 に答える 2

2

post-receive.example スクリプトのヘッダーにあるように、 : を使用するのpost-receive.exampleは、設定する最も簡単な方法ではありません。git_multimail.py

git-multimail を使用する最も簡単な方法は、スクリプト git_multimail.py を post-receive フックとして直接使用し、Git の構成ファイルとコマンドライン パラメーターを使用して構成することです。

言い換えれば、ちょうど

cp /path/to/git_multimail.py /path/to/project.git/hooks/post-receive

これで準備完了です (既に入力済みproject.git/configのため)。もう少し詳細については、git-multimail の README の Invocation を参照してください。

(注:確かに、このドキュメントは初心者にとってそれほど明確ではありません。時間があるときにそれを改善しようとします

于 2016-10-27T06:58:49.643 に答える