开发者

CruiseControl.NET's Filtered Source Control Provider Not Detecting Modifications When Using 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.

And this is the path filtering configuration:

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

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

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


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.

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜