是否通知只读SVN存储库中的任何更改?

是否通知只读SVN存储库中的任何更改?,svn,cruisecontrol.net,Svn,Cruisecontrol.net,我正在从SVN迁移到Mercurial,我们将旧的SVN存储库设置为只读 我想找到一种方法,在旧的SVN存储库设置为只读后,如果有任何更改,可以得到通知。但是,我没有直接的权限向SVN或任何其他典型的解决方案添加钩子 我知道可能有更好的方法来防止这个问题,但我主要是偏执地认为可能有人能够绕过SVN安全,所以请幽默我 我的一个想法是保留我现有的构建,但如果有任何新的更改,它们会自动失败。还有什么可能呢?将cronjob设置为 svn状态 将其输出发送给您?我目前没有安装Subversion,但我认

我正在从SVN迁移到Mercurial,我们将旧的SVN存储库设置为只读

我想找到一种方法,在旧的SVN存储库设置为只读后,如果有任何更改,可以得到通知。但是,我没有直接的权限向SVN或任何其他典型的解决方案添加钩子

我知道可能有更好的方法来防止这个问题,但我主要是偏执地认为可能有人能够绕过SVN安全,所以请幽默我

我的一个想法是保留我现有的构建,但如果有任何新的更改,它们会自动失败。还有什么可能呢?

将cronjob设置为

svn状态


将其输出发送给您?我目前没有安装Subversion,但我认为它不会添加任何标题或其他内容-如果有,您可以通过管道将输出内容删除,因此它只会给您发送更改的电子邮件。

我不知道这是否有点太过满足您的需求,但它会给您一个RSS提要,您可以在一个新的页面中订阅。这样,您只需要监视RSS提要。此外,它还为SVN存储库提供了一个只读的web前端,因此您可以不使用SVN本地代码副本。

您可以将Subversion存储库的权限配置为“只读”,无论是通过Apache的
httpd
还是通过
svnserve
提供服务。这实际上是首选方法,而不是设置总是返回
退出1
的预提交挂钩。配置很简单,既然您必须配置Subversion存储库,为什么不这样做呢

当然,您可能也希望观察文件系统,以确保它不会更改。您可以使用或之类的东西来观察目录结构,但这些通常必须与Subversion存储库位于同一台机器上

您还可以使用基于web的Subversion存储库浏览器。和其他浏览器一样,Sventon也有RSS提要,您可以订阅。存储库中的更改将通过RSS提要报告

与Hudson、CruiseControl甚至WebVN相比,Sventon的最大优势在于Sventon不必坐在Subversion服务器上,因为它不需要访问
Svlook
。如果您没有足够的访问权限,在Subversion存储库中放置两行预提交钩子,那么您可能也无法在服务器上放置Hudson之类的东西


Hudson和CruiseControl还可以通过“svnco”命令监视您的存储库,如果它检测到存储库中的更改而“生成”,则会通过邮件或RSS向您报告。这确实意味着这两个工具不必安装在Subversion服务器上,但它们最终会检查整个存储库(所有分支、标记等),以便执行此操作。不是你想做的事。

你可以用。几乎不需要设置;只需将工具指向工作副本即可从中读取svn URL,就完成了。可以配置检查间隔。就这样

我想我应该澄清一下,我使用的是Windows,目前我们正在使用VisualSVN服务器。这不是一个坏的选择,但我更喜欢某种推送通知。我们正在使用VisualSVNServer,它已经提供了一个web用户界面,但我看不到任何RSS支持,或者我只想使用它。为了简单起见,+1!我把那个工具忘得一干二净。这就是我内心平静/偏执所需要的一切。谢谢顺便说一句,我最终使用了另一个工具:CommitteMonitor,它的开发更为活跃。也不错,但是IIRC在设置要检查的存储库方面做了更多的工作,不仅仅是将工具定向到包含svn信息的文件夹(即工作副本)。但通过指定要监视的URL,您可以在不签出工作副本的情况下监视它-->可以节省磁盘空间。