0
/usr/bin/svn update /var/project2_test/debug --username XXXX--password XXXX
/bin/echo $REV >> /var/project2_test/svn.log

提交时日志已更新。但工作副本永远不会更新。我手动运行 /home/admin/svn/project/hooks/post-commit 。有用!

4

1 回答 1

0
  1. 提交后钩子(真的是任何钩子)
    • 在空环境中运行
    • 在另一个用户凭据下运行,而不是手动运行(使用 SVN 服务器的用户)
  2. 无论如何,您必须在真实条件下(作为钩子)调试钩子的脚本。为了做到这一点,你有
    • 拦截update命令的输出(通过将标准输出重定向到标准错误)
    • 将此输出显示给执行提交的用户,即,因为 stderr 仅在钩子发生错误的情况下才编组给用户,因此您必须使用非零退出代码退出钩子

调试阶段的挂钩将类似于

/usr/bin/svn update /var/project2_test/debug --username XXXX --password XXXX > &2
/bin/echo $REV >> /var/project2_test/svn.log
exit 1
于 2013-08-28T11:01:36.190 回答