使用Mercurial时,CruiseControl.NET的筛选源控制提供程序未检测到修改 [英] CruiseControl.NET's Filtered Source Control Provider Not Detecting Modifications When Using Mercurial

查看:102
本文介绍了使用Mercurial时,CruiseControl.NET的筛选源控制提供程序未检测到修改的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在改用Mercurial.我们的存储库中有许多不同的项目,因此我们使用过滤后的源代码管理,以便只有对项目文件的更改才会触发构建.我在ccnet.log中看到CruiseControl正确地从Mercurial获取了修改列表,但始终报告未检测到修改".我想我可能指定了错误或不正确的模式.

We are in the process of switching to Mercurial. Our repository has a number of different projects, so we are using the filtered source control so that only changes to a project’s files trigger a build. I’m seeing in my ccnet.log that CruiseControl is correctly grabbing the modification list from Mercurial, but it always reports "No modifications detected." I think I might be specifying the wrong or an incorrect pattern.

这是我在日志中看到的:

This is what I see in the log:

2010-08-12 18:25:41,305 [BuildAndTools:DEBUG] Modification Modification: (Type=Changeset,FileName=Build/App.targets,FolderName=,ModifiedTime=8/12/2010 6:16:42 PM,UserName=user,ChangeNumber=5640629ec7b5,Version=5640629ec7b5,Comment=Making a change to see if it triggers a build.,Url=,IssueUrl=,EmailAddress=user@example.com) was not accepted by the filter specification.
2010-08-12 18:25:41,305 [BuildAndTools:INFO] No modifications detected.

这是路径过滤配置:

<sourcecontrol type="filtered">
  <dynamicValues />
  <exclusionFilters />
  <inclusionFilters>
    <pathFilter>
      <caseSensitive>False</caseSensitive>
      <pattern>Build\**\*.*</pattern>
    </pathFilter>
  </inclusionFilters>
</sourcecontrol>

我需要怎么做才能使CruiseControl.NET看到修改?

What do I need to do to get CruiseControl.NET to see a modification?

更新:此问题已在CruiseControl.NET 1.6版中修复.

Update: This issues was fixed in CruiseControl.NET version 1.6.

推荐答案

事实证明,这是Mercurial源代码管理插件中的错误.它通过更改集而不是文件来获取更改(更改集中的所有文件都被分组到一个用空格分隔的列表中).这不是过滤后的源代码控制提供程序可以使用的格式,因此它永远不会注意到任何修改.

It turns out this is a bug in the Mercurial source control plug-in. It gets changes by changeset, instead of by file (all the files in a changeset are grouped together into a space separated list). This is not the format the filtered source control provider works, so it never notices any modifications.

我已解决此问题,并创建了 JIRA项目来跟踪该问题 ,并附上我的代码更改.

I fixed the issue, created a JIRA item to track the issue, and attached my code changes to it.

这篇关于使用Mercurial时,CruiseControl.NET的筛选源控制提供程序未检测到修改的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆