Git post-receive-email:未知类型(提交)

时间:2012-07-03 09:18:15

标签: git githooks

我在使用Git的post-receive-email钩子脚本时遇到了问题。这是我做的:

  1. 在我的服务器上,我使用:git --bare init myrepo.git初始化了一个裸存储库。我的服务器的Git配置文件显示为core.bare = true
  2. 是否使用Git电子邮件指南进行设置接收
  3. 在我的客户端上,使用git clone URL克隆存储库。在我的客户端,Git config是core.bare = false
  4. 做了一些工作,添加了新文件,致力于本地Git
  5. 使用以下命令将更改推送到远程存储库:git push origin master为已完成的提交发出生成的ref-id
  6. 但我没有收到电子邮件;所以试图在hooks目录的服务器上运行post-receive hook脚本./post-receive <oldrev> <newrev> refs/heads/master
  7. 不断返回以下错误:

      

    c9c047af(提交)的未知更新类型
      没有生成电子邮件

    任何可能出错的线索?

1 个答案:

答案 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>的手动调用。我希望这有助于其他可能面临挑战的人。