您对相对交钥匙的 SVN 签入通知系统有什么建议吗?
我正在寻找一种功能,可以在提交时通过电子邮件将更改的存储库文件摘要和实际差异的内容发送给开发团队的所有成员,也许还附带指向 ViewVC 上的完整受影响源文件的链接。这是可选的。
我绝对希望实际的差异/代码摘录能够整齐地划分开来。如果一开始只是一大堆难以理解的代码片段,那么没人会看这些东西(好像他们无论如何都会看一样 :-)。原则上,我只想查看修订号、摘要、提交的用户以及受影响的存储库文件列表。
我花了一些时间研究编写自己的系统的可行性,虽然我发现 SVN 有“钩子”可以以这种方式捕获各种事件,但要得到一个运行良好的系统似乎是一项相当复杂的任务。我相当确定存在这样的开源软件包,我想知道你们中是否有人可以帮助我省去找出哪些是好的,哪些是坏的麻烦。我正在寻找一个相当容易设置并且不需要花费大量时间的东西;我很乐意花时间学习一个真正全面的系统的来龙去脉,但我也必须真正进行开发。
提前向大家致以衷心的感谢!
编辑:我知道 Sourceforge 在这方面做得相当好。我在几个 -dev 列表中经常收到这些消息。但我不能真正使用 Sourceforge 来完成我正在从事的项目。
答案1
你提到的钩子实际上与答案相差不远。你可以使用提交后钩子跑步提交电子邮件.pl (的内容),它与 Subversion 捆绑在一起,可以满足您的需求。它需要调整以指向您的邮件服务器但这只是脚本顶部附近的一个变量。您还需要安装 Perl 才能运行该脚本。
提交后钩子的文件名因您运行的操作系统而异。您可以在/hooks/ 子文件夹对于 Linux 来说,它很简单提交后而在 Windows 上提交后脚本. 您需要做的就是修改该文件以运行提交电子邮件。下面是 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 用户名。这让发送的电子邮件更有用(您实际上可以回复它)。
答案2
我用SVN通知,这是一个 perl 脚本,应该可以在 Windows 上运行,尽管我还没有尝试过。它使用 HTML::ColorDiff 在提交后提供漂亮的彩色差异。
这是一位开发同事推荐给我的,非常棒。
答案3
邮件发送程序是另一种选择。
答案4
你可以找到更多选项 在 Subversion 网站上:CommitMonitor、SVN 通知器、SvnReporter(无耻的插件)。