SVN Post-Commit Hook错误255

Bre*_*gan 10 svn bash post-commit post-commit-hook

我正在尝试为我在服务器上设置的存储库创建一个非常简单的提交后挂钩.脚本如下:

REPOS="$1"
REV="$2"

cd /var/www/directory && svn update --username user --password pass
Run Code Online (Sandbox Code Playgroud)

当我从我的SVN客户端运行提交时,我收到以下错误:

post-commit hook failed (exit code 255) with no output.
Run Code Online (Sandbox Code Playgroud)

但是,当我使用sudo bash post-commit从cli运行我的post-commit钩子时,它会完美地执行.关于我做错了什么的任何想法?

cho*_*own 6

255表示找不到文件,尝试使用所有文件的绝对路径:

REPOS="$1"
REV="$2"

cd /var/www/directory && /usr/bin/svn update --username user --password pass
Run Code Online (Sandbox Code Playgroud)

运行post commit hook的环境的PATH env变量可能未设置为包含SVN可执行文件所在的任何位置.

  • 确保chmod + x钩子脚本.我得到"post-commit hook failed(退出代码255)没有输出." 我已经将post-commit.tmpl复制到post-commit但没有将其更改为可执行文件. (3认同)

Bre*_*gan 5

好的,我已经弄清楚了这个问题。这是路径问题(如 chown 所建议的,我将选择他的答案)和权限问题的组合。我写了一篇关于这个问题的博客文章(以及 SVN 的一般设置),可以在http://brennydoogles.wordpress.com上找到。