我想在我正在处理的项目上设置提交电子邮件,如下所述:
http ://produceoss.com/en/vc.html#commit-emails
也就是说,使用提交后挂钩将电子邮件发送到包含提交标题/日志和更改差异的列表。
Linux 机器上最简单的设置方法是什么?
我想在我正在处理的项目上设置提交电子邮件,如下所述:
http ://produceoss.com/en/vc.html#commit-emails
也就是说,使用提交后挂钩将电子邮件发送到包含提交标题/日志和更改差异的列表。
Linux 机器上最简单的设置方法是什么?
虽然这个问题有点老了,但我想我会把我的意见留给那些来自谷歌的人:
我已经考虑过这里提到的解决方案。这commit-email.pl
对我来说既容易又更好。但是,我发现这两种解决方案都缺乏正确的格式。
因此,该svnnotify
软件包似乎为我生成了格式和颜色都足够好的电子邮件。
在 Debian/Ubuntu 系统上,您可以通过键入以下命令来安装它:
apt-get install libsvn-notify-perl
然后,如果您要向 Gmail 帐户发送电子邮件,由于 Gmail 中奇怪的 CSS 支持,我强烈建议您应用此处找到的补丁,这意味着:
HTML.pm
和ColorDiff.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
创建新存储库时,在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
包中。
我们为此使用svnmailer。我们将特定于存储库的post-commit
钩子脚本符号链接到单个脚本,该脚本又调用 svnmailer。配置非常简单,通过他们的simple.conf
示例配置,您可以在几分钟内启动并运行。请注意,它是用 Python 编写的,因此这是安装的先决条件。
我们的整个提交后挂钩脚本只有几行(请注意,您可能会在提交后挂钩中做其他事情,但我们目前不这样做):
#!/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-email包。svn-mod-email是一个强大的SVN 电子邮件通知管理工具,它以 Debian 存档的形式提供。它易于安装、配置和使用。