提交后挂钩失败

时间:2013-08-23 19:23:34

标签: svn svn-hooks

我们正在发送有关SVN提交的电子邮件通知,我们正在按照以下步骤进行操作:http://sandilands.info/sgordon/email-notifications-of-svn-commits

测试时,我们会收到以下错误:

  

错误:提交后挂钩失败(退出代码127),输出:
  错误:/ repos / cle / hooks / post-commit:50:commit-email.pl:未找到
  错误:/ repos / cle / hooks / post-commit:51:log-commit.py:not found

有人想分享他们的经历吗?

2 个答案:

答案 0 :(得分:1)

看起来无法找到(因此无法执行)commit-email.pl和log-commit.py。 你要么需要路径中的那些,要么在调用时指定一个完整的路径(以及确保你有这些)。

答案 1 :(得分:1)

您可能希望查看我的SVN Watcher提交后挂钩脚本。它将在提交时发送一封电子邮件,但允许您配置 watch 以指定您感兴趣的文件。此外,所有用户都可以创建他们感兴趣的文件的监视列表。提交发生。

错误消息非常简单:找不到指定的脚本(您可能只想使用Perl版本或Python版本,但不能同时使用两者。错误可能是由多个问题引起的:< / p>

  • 设置不正确PATH。可能未设置具有环境和shell变量的Subversion mucks。这包括可能设置为默认值的PATH
  • Perl和Python脚本可能没有为正在执行挂钩的用户设置可执行位。
  • Perl和Python脚本可能有一个糟糕的处理器行(例如,Perl安装在/usr/bin/perl中,但您的第一行是#! /usr/local/bin/perl)。
  • Perl或Python解释器可能不在您的路径中。

如果post-commit是shell脚本,请在顶部添加set -xvexport PS4="\$LINENO:。这将打印出调试信息,以便您可以查看脚本中发生的情况。这只会在shell脚本失败时打印出来。