1

我们正在努力发送 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: 未找到

有人愿意分享他们的经验吗?

4

2 回答 2

1

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

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

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

如果post-commit是 shell 脚本,则在顶部添加set -xv和。export PS4="\$LINENO:这将打印出调试信息,因此您可以看到脚本中发生了什么。这只会在 shell 脚本失败时打印出来。

于 2013-08-27T15:11:35.280 回答
1

看起来它找不到(因此无法执行)commit-email.pl 和 log-commit.py。您要么需要路径中的那些,要么在调用时指定完整路径(并确保您甚至拥有这些)。

于 2013-08-23T19:30:04.973 回答