セットアップ:
- LAN サーバー (Linux) にリモート git リポジトリーがある
- このリポジトリには、samba および ssh を介してアクセスできます。これらのアクセス方法は両方とも、さまざまな開発者、およびウィンドウで作業するすべての開発者に使用されます。
- post-receive スクリプト (最後) がコマンド ライン smtp メーラーを呼び出し、メールが送信されます (内部 smtp サーバー経由)。
- Windows 用 (bmail.exe) と Linux 用 (smtpstoat) の 2 つのコマンド ライン smpt メーラーを使用できます。両方とも
問題:
- post-receive スクリプトが Linux 実行可能ファイル (smtpstoat) を呼び出している場合、
git push
ssh 経由でリモート リポジトリにアクセスしている開発者に対して適切に実行されます (電子メールが送信されます)。しかし、samba を介してアクセスしている開発者の他の部分がgit push
コマンドを実行すると、git は不平を言います:remote: ./hooks/smtpstoat: ./hooks/smtpstoat: cannot execute binary file
- また、受信後スクリプトを変更して Windows 実行可能ファイル (bmail.exe) を呼び出すと、samba アクセス権を持つ開発者は
git push
. しかし、ssh ユーザーは次のようになりました。remote: hooks/post-receive: line 708: ./hooks/bmail.exe: cannot execute binary file
リモートリポジトリへのアクセス方法に関係なく、このメール送信を機能させるにはどうすればよいですか?