【问题标题】:cruise control.NET perforce all commits ever are modificationsCruise control.NET 强制所有提交都是修改
【发布时间】:2014-01-24 22:34:00
【问题描述】:

我的巡航控制服务器正在运行并成功构建我的项目。但是,我的间隔触发器(设置为 IfModificationExists)每次尝试构建时都会将数据库历史记录中的整个更改列表注册为修改,因此无论是否有新提交,都会在每个间隔上构建。有什么建议么?以下是我的配置文件的相关位:

<cruisecontrol>

<project name="MyProj">
<artifactDirectory>C:\CCNet\Artifacts\</artifactDirectory>

<!-- TRIGGER THE CHECK TO BUILD EVERY HOUR -->
<triggers>
  <!-- check the source control every X time for changes, 
     and run the tasks if changes are found -->
  <intervalTrigger
           name="continuous"
           seconds="3600"
           buildCondition="IfModificationExists"
           initialSeconds="5"/>
</triggers>
<workingDirectory>C:\PerforceFiles\</workingDirectory>

<!-- CHECK FOR CHANGES IN PERFORCE, EXCLUDE .CHM FILES SINCE THEY ARE CHECKED IN AS PART OF THIS BUILD -->
<sourcecontrol type="filtered">
  <sourceControlProvider type="p4">
    <view>//depot/Folder1/... //cruisecontrol_server/Folder1/..., //depot/Folder2/... //cruisecontrol_server/Folder2/..., //depot/Folder3/... //cruisecontrol_server/Folder3/..., //depot/Folder4/... //cruisecontrol_server/Folder4/...</view>
    <executable>C:\Program Files\Perforce\p4.exe</executable>
    <workingDirectory>C:\PerforceFiles</workingDirectory>
    <client>cruisecontrol_server</client> <!-- this workspace's tree is equivalent to the view listed above -->
    <user>cruisecontrol</user>
    <port>myPort</port>
    <applyLabel>false</applyLabel>
    <autoGetSource>true</autoGetSource>
    <forceSync>false</forceSync>
  </sourceControlProvider>
  <exclusionFilters>
    <pathFilter>
      <pattern>/**/*.chm</pattern>
    </pathFilter>
  </exclusionFilters>
</sourcecontrol>

文件的其余部分只是我的任务和发布者,我认为这无关紧要。如果您需要更多信息,请告诉我,我会尽快回复。

【问题讨论】:

  • 您在哪里排除 .CHM 文件?您需要使用 Filtered Source Control Block --> link
  • 如果您只是指评论,那是我基于此文件的 CruiseControl 示例的遗物。我恢复了 .chm 删除,但它仍然给了我完全相同的问题。

标签: perforce cruisecontrol.net


【解决方案1】:

在我看来,这是我与 SVN 一起使用的过滤块,并且工作正常:

  <sourcecontrol type="filtered">
      <sourceControlProvider type="svn">
          <executable>$(svnConsole)</executable>
          <username>username</username>
          <password>password</password>
          <autoGetSource>true</autoGetSource> 
          <trunkUrl>https://trunkurl</trunkUrl>
          <workingDirectory>$(DevelopmentDir)\</workingDirectory>
      </sourceControlProvider>
      <exclusionFilters>
          <pathFilter>
              <pattern>**/AssemblyInfo.cs</pattern>
          </pathFilter>
     </exclusionFilters>
</sourcecontrol>

排除主干上的每个 AssemblyInfo.cs 文件。 希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多