我想为我正在从事的项目设置提交电子邮件,如下所述:
http://生产oss.com/en/vc.html#commit-emails

也就是说,使用提交后挂钩将电子邮件发送到包含提交标题/日志和更改差异的列表。

在 Linux 机器上进行设置的最简单方法是什么?

有帮助吗?

解决方案

当创建新的存储库的样品post-commit钩子在hooks/post-commit.tmpl提供。它包含一个一行看起来或多或少是这样的:

/usr/share/subversion/hook-scripts/commit-email.pl "$REPOS" "$REV" commit-watchers@example.org

只是要发送通知,重命名脚本hooks/post-commit地址代替电子邮件(删除tmpl扩展名),并使其可执行(chmod a+x)。

当你运行该脚本commit-email.pl不带任何参数,你会看到额外的选项,允许例如修改主题行或发件人地址的使用界面。

请注意,是Debian的情况下的commit-email.pl脚本位于一个可选subversion-tools包。

其他提示

虽然这个问题有点老了,但我想我会为那些来自谷歌的人留下我的意见:

我已经考虑过这里提到的解决方案。这 commit-email.pl 对我来说工作既轻松又更好。但是,我发现这两种解决方案都缺乏正确的格式。

就这样 svnnotify 包似乎为我生成了足够好的格式和彩色电子邮件。

在 Debian/Ubuntu 系统上,您可以通过键入以下内容来安装它:

apt-get install libsvn-notify-perl

然后,如果您要向 Gmail 帐户发送电子邮件,由于 Gmail 中奇怪的 CSS 支持,我强烈建议您应用该补丁 在这里找到, , 意思是:

  • 下载 HTML.pmColorDiff.pm
  • 换成他们 /usr/share/perl5/SVN/Notify/HTML.pm/usr/share/perl5/SVN/Notify/HTML/ColorDiff.pm, , 分别。

最后,设置 post-commit 钩子脚本通常的方式:

# email notifications for commits
/usr/bin/svnnotify --repos-path "$REPOS" --revision "$REV" \
    --to your.email@address.com \
    --from from.email@address.com \
    --with-diff \
    --subject-cx \
    --subject-prefix 'Your Project Name: ' \
    --handler HTML::ColorDiff \
    --css-inline
    2>&1 &

exit 0

我们使用 svnmailer 这一点。我们符号链接我们的库特定的post-commit钩子脚本到一个脚本,进而调用svnmailer。配置是相当直接的,并与他们simple.conf示例配置,你可以启动和运行在几分钟内。请注意,它是用Python编写,所以这是要安装的先决条件。

我们的整个后提交钩子是只有几行(请注意,你可能会做其他的东西在你的post-commit钩子,但我们目前还没有):

#!/bin/sh

CONFIG="/usr/local/svnmailer/default.conf"
MAILER="/usr/bin/svn-mailer"

# These are passed in by subversion
REPOS="$1"
REV="$2"

"${MAILER}" --commit \
            --config "${CONFIG}" \
            --repository "${REPOS}" \
            --revision "${REV}" \
            --background

检查 svn-mod-电子邮件 包描述 这里. 。这 svn-mod-电子邮件 是一个强大的 SVN 电子邮件通知管理工具,以 Debian 存档形式提供。它易于安装、配置和使用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top