设置:
问题:
git push
执行正确(发送电子邮件)。但是,当通过samba访问的开发人员的另一部分执行git push
命令时,git会抱怨:remote: ./hooks/smtpstoat: ./hooks/smtpstoat: cannot execute binary file
git push
没有任何问题。但是ssh用户得到了:remote: hooks/post-receive: line 708: ./hooks/bmail.exe: cannot execute binary file
无论您如何访问远程存储库,如何使此电子邮件发送工作?
答案 0 :(得分:0)
好吧,钩子是由写入存储库的git进程执行的。当您推送SSH时,此过程在SSH会话中运行。因此,当开发人员推动SSH时,他实际上会登录,更新仓库并执行钩子。
当有人推动SMB时,它是他的 git proccess谁更新了回购。该进程正在他的机器上运行,当然它无法执行该二进制文件。
无论如何,推动SMB并不是一个非常棒的想法。我想你的最佳解决方案是让Windows开发人员推动SSH。对他们来说应该不是问题。