2013-10-26 61 views
2

我想在svn存储库上收到更新的电子邮件通知。我知道标准的解决方案是使用钩子,但是我没有权限访问存储库的主机。颠覆电子邮件提交通知没有挂钩

现在,我写了一行一行的方式,每小时更新一次工作副本,如果存在新版本,请发邮件给我。然而,这是原始的,我想要一个解决方案,允许我过滤掉自己的提交,在电子邮件中提供diff,在修订上运行命令以识别构建错误,并在构建被破坏时以不同方式通知我,等

是否已经存在一个干净的脚本提供电子邮件通知更新到SVN存储库而不依赖于挂钩,我描述的功能的种类?

(我想一个命令行脚本或程序的Unix系统,免费为言论自由。)

回答

0

我现在使用一堆自定义脚本来检索SVN仓库的最新版本,如果它高于先前看到的版本,则会通过电子邮件向我发送这些更改的差异。对于每个存储库,只有在第一次更改后发生更改时才会触发电子邮件,因此我不会为我自己的更改而获得差异,并且我也没有针对其他人所做的更改连续获得差异。具体而言,对于每个存储库,发送差异时,警报会静音,直到脚本在存储库中看到我提交的提交,或者手动调用脚本以重新激活此存储库中的警报。我的脚本还会缓存SVN错误,并且只有在连续发生时才会抱怨SVN错误,以避免每次出现阻止访问存储库的暂时性网络问题时收到一封邮件。

具体来说,我使用cron来定期调用脚本svn-poll-myrepos,该脚本在myrepos中注册的所有SVN存储库上运行轮询。脚本svn-poll按上述方式进行轮询,脚本svn-poll-drop可以手动调用以重新激活警报。

1

如果您使用的是Windows,你可能要考虑使用CommitMonitor工具。

+0

这是一个Unix平台,很可惜,这对我来说不是一个好选择......感谢您的回答。 – a3nm

0

您也可以查看CI服务器。它们已经被设置为轮询一个源代码库,并且它们中的许多具有它们自己的通知系统。詹金斯是免费的,许多商业工具是免费的或便宜的供个人使用。

+0

是的,我同意我想要做的是在精神上类似于持续集成,但这似乎是一个非常重量级的解决方案。我很惊讶,似乎没有一个小脚本可以配置为发送合理的通知,也许尝试一些理智检查命令。 – a3nm