SVN 提交的电子邮件通知

Ale*_*hov 10 email svn

您对相对完整的 SVN 签入通知系统有什么建议吗?

我正在寻找允许更改存储库文件摘要和实际差异的内容在提交发生时通过电子邮件发送给开发团队的所有成员的东西,也许带有指向 ViewVC 或其他地方的完整受影响源文件的链接. 那是可选的。

我绝对希望将实际的差异/代码摘录整齐地划分开来。没有人会看这些东西(好像他们无论如何都会看:-),如果它只是从一开始就堆满了难以理解的代码片段的大而鲁莽的转储。原则上,我只想查看修订号、摘要、提交的用户以及受影响的存储库文件列表。

我花了一点时间研究编写自己的代码的可行性,虽然我看到 SVN 有“钩子”可以精确地以这种方式捕获各种事件,但得到一些运行良好的东西似乎是一项相当复杂的任务。相当肯定存在这种效果的开源软件包,我想知道你们中是否有人能帮我省去弄清楚哪些是好的哪些是坏的麻烦。我正在寻找一些相当容易设置并且不需要很多时间的东西;我很想花时间学习一个非常全面的系统的来龙去脉,但我也必须实际进行开发。

非常感谢大家提前!

编辑:我知道 Sourceforge 在这方面做得很好。我在几个 -dev 列表中,我经常收到这些消息。但我不能真正将 Sourceforge 用于我正在从事的各种项目。

Pau*_*auk 8

你提到的钩子实际上离答案不远了。您可以使用post commit hook来运行commit_email.pl ( contents of ),它与 Subversion 捆绑在一起,这将为您提供几乎所有您想要的东西。它需要调整以指向您的邮件服务器,但这只是脚本顶部附近的一个变量。您还需要安装 Perl 来运行脚本。

提交后挂钩的文件名因您运行的操作系统而异。您可以在/hooks/ 子文件夹中找到它。对于 Linux,它只是post-commit而在 Windows 上它的post-commit.bat。您需要做的就是修改该文件以运行commit_email.pl。下面是一个 post-commit.bat 示例:

@echo on
rem POST-COMMIT HOOK

set REPOS=%1
set REV=%2

C:\Perl64\bin\perl S:\SVNRepos\hooks\commit-email.pl %REPOS% %REV% -l C:\Temp\svnlook\commit-email.log
Run Code Online (Sandbox Code Playgroud)

此外,我对我们的电子邮件脚本进行了进一步更改,以显示提交者的电子邮件地址,而不是 Subversion 用户名。它使发送的电子邮件更有用(您实际上可以回复它)。