SVN提交的电子邮件通知[关闭]


10

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

我正在寻找可以更改存储库文件摘要的内容,并在提交时通过电子邮件将实际差异的内容通过电子邮件发送给开发团队的所有成员,也许带有指向ViewVC上受影响的完整源文件的链接或类似内容。 。那是可选的。

我绝对希望将实际的差异/代码摘录整齐地划分。如果从一开始就只是一个巨大的,鲁as的,令人费解的代码片段,那么没有人会看这些东西(好像它们还是会:-)。原则上,我只想查看修订号,摘要,进行提交的用户以及受影响的存储库文件列表。

我花了一些时间来考虑编写自己的代码的可行性,尽管我看到SVN正是以这种方式捕获各种事件的“钩子”,但是弄清楚一些行之有效的工作似乎确实是一项艰巨的任务。可以肯定的是,存在这样的开源软件包,我想知道你们中的任何一个是否可以帮助我省去找出哪些是好的,哪些是坏的麻烦。我正在寻找易于设置且不需要大量时间的东西;我很想花时间学习一个真正全面的系统的来龙去脉,但是我也必须真正地进行开发。

提前非常感谢大家!

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


对于每个想要这样设置钩子的人来说都是一个提示:这可能会损害信息隐私法(德国的BDSG)。请谨慎使用!

Answers:


8

您对钩子的提及实际上离答案不远。您可以使用post commit钩子来运行commit_email.pl(的内容,它与Subversion捆绑在一起,将为您提供所需要的东西。它需要进行调整以指向您的邮件服务器,但这只是脚本顶部附近的一个变量。您还需要安装Perl才能运行脚本。

提交后提交挂钩的文件名会有所不同,具体取决于运行的操作系统。您可以在/ hooks /子文件夹中找到它。对于Linux,它只是后提交,而对于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

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


供将来参考:在无法通过扩展名确定文件类型的其他系统(当然,至少是Linux)上,该钩子只是命名为post-commit。只需.bat从Windows版本的名称中删除扩展名即可。
David Z

大卫,谢谢您的评论。我已经相应地调整了答案。
Pauk)

2

我使用SVN-Notify,这是一个perl脚本,应该在Windows上运行,尽管我没有尝试过。它使用HTML :: ColorDiff在提交后提供漂亮的彩色差异。

这是开发人员同事向我推荐的,这很棒。




By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.