设置:
- 在 LAN 服务器 (linux) 上有一个远程 git 存储库
- 可以通过 samba 和 ssh 访问此存储库。这两种访问方法都用于各种开发人员,以及所有在 Windows 上工作的开发人员。
- post-receive 脚本(最后)调用命令行 smtp 邮件程序,它将发送一封电子邮件(通过内部 smtp 服务器)
- 我有 2 个可用的命令行 smpt 邮件程序,一个用于 windows (bmail.exe),另一个用于 linux (smtpstoat)。两者都有
问题:
- 如果 post-receive 脚本调用 linux 可执行文件 (smtpstoat),
git push
则对于通过 ssh 访问远程存储库的开发人员来说,执行是正确的(发送电子邮件)。但是当通过 samba 访问的另一部分开发人员执行git push
命令时,git 会抱怨:remote: ./hooks/smtpstoat: ./hooks/smtpstoat: cannot execute binary file
- 如果我修改 post-receive 脚本以调用 windows 可执行文件 (bmail.exe),则具有 samba 访问权限的开发人员对
git push
. 但是 ssh 用户得到了:remote: hooks/post-receive: line 708: ./hooks/bmail.exe: cannot execute binary file
无论您如何访问远程存储库,如何使此电子邮件发送正常工作?