我在使用Git的post-receive-email钩子脚本时遇到了问题。这是我做的:
git --bare init myrepo.git
初始化了一个裸存储库。我的服务器的Git配置文件显示为core.bare = true
git clone URL
克隆存储库。在我的客户端,Git config是core.bare = false
。git push origin master
为已完成的提交发出生成的ref-id hooks
目录的服务器上运行post-receive hook脚本./post-receive <oldrev> <newrev> refs/heads/master
不断返回以下错误:
c9c047af(提交)的未知更新类型
没有生成电子邮件
任何可能出错的线索?
答案 0 :(得分:0)
虽然我使用了分发post-receive-email
脚本,但我在脚本中发现了一个奇怪的错误。在我的版本中post-receive-email
的末尾说:
prep_for_email $2 $3 $1 && PAGER= generate_email
应该是
prep_for_email $1 $2 $3 && PAGER= generate_email
此更改解决了我对post-receive <oldrev> <newrev> <refname>
的手动调用。我希望这有助于其他可能面临挑战的人。