svn post-commit hook失败(退出代码6)并带有​​输出:

时间:2014-01-28 07:12:25

标签: svn post-commit svn-hooks

我试图通过svn post-commit hook从shell脚本使用ssh更新远程服务器的存储库。我做的是,

  • 写了一个shell脚本ssh到服务器并更新存储库
  • 在post-commit
  • 上添加了一行来执行上述脚本

手动运行脚本时,一切正常。但是当我提交时,我收到以下错误:

Sending        test.py
Transmitting file data .
Committed revision 47.
Warning: post-commit hook failed (exit code 6) with output:

我尝试使用Google搜索,但找不到与错误代码6相关的任何内容。感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

您在ovm-ctl等程序中看到了这种退出代码:

.ssh exits with non-zero code (generic error): Return exit code 5
.ssh exits with code 255 (connection or protocol error): Return exit code 6'

this thread中所述,首先检查一个简单的ssh是否有效:

ssh user@<ip> 
ssh -Tvvv user@<ip> 

然后检查哪个用户帐户实际执行了svn hook,以及哪个环境变量。

同一个帖子提到了以下解决方案(但在你的情况下可能会有很大不同)

cat ~/.ssh/config
Host *
StrictHostKeyChecking no
  

将此文件的权限更改为600。现在这个工作正常。

在你的情况下,它可能是一个不同的问题(如process issue,即使那是Git,而不是SVN)

答案 1 :(得分:0)

实际的解决方案是,我删除了post-commit.tmpl文件,不知何故,它现在正常工作。