如何在CruiseControl.net中配置svn任务以检测subversion外部更改

如何在CruiseControl.net中配置svn任务以检测subversion外部更改,svn,cruisecontrol.net,Svn,Cruisecontrol.net,我在subversion中有一个.net项目,它与 Cruisecontrol.net 我使用Svn源代码控制CCNET任务 net项目库目录,其中包含一组配置为subversion externals的可重用组件 ProjectA\libraries{可重用组件目录} ProjectA\libraries\component1 ProjectA\libraries\component2 ProjectA\libraries\component3 projectA\Src{源代码目录} 当sub

我在subversion中有一个.net项目,它与 Cruisecontrol.net

我使用Svn源代码控制CCNET任务

net项目库目录,其中包含一组配置为subversion externals的可重用组件

ProjectA\libraries{可重用组件目录} ProjectA\libraries\component1 ProjectA\libraries\component2 ProjectA\libraries\component3

projectA\Src{源代码目录}

当subversion外部更改时,不会触发生成,因为它不会检测外部文件夹中发生的更改

如何使subversion ccnet任务在发生更改时立即生成
已将组件配置为外部组件。

我只是设置了一个轮询间隔来检查MOD-使用ccnet.config中的触发器节点,它是intervalTrigger。我还告诉它仅在存在修改(svn源已更改)时使用IfModificationExists属性(这是默认值)进行构建


如果愿意,您可以将该间隔设置得很低,但我不确定是否有办法将ccnet接收到的通知从SVN中推出。

在CruiseControl.NET 1.4中,subversion源代码控制块有一些新标志,其中一个是CheckExternals,在您的配置中将其设置为true,并且外部的任何修改都会触发生成

<checkExternals>True</checkExternals>
<checkExternalsRecursive>True</checkExternalsRecursive>
True
真的

谢谢Alex的回答

我们还开始使用相对外部URL,该URL不适用于CCNET 1.4版本

它尝试获取修改列表时失败

我还看到了CheckExternals代码的另一个问题

(即)从不同的svn存储库配置外部时


而且外部库只会被更改,那么历史记录命令也会失败。

在CruiseControl.NET中有谷歌用户组/devs。您应该尽可能详细地记录这些例外情况。SVN中似乎有很多配置外部的方法,但开发人员并不知道所有这些方法。您可以提供的任何帮助或测试用例都只会有所帮助