CruiseControl& Git没有检查分支

时间:2013-06-05 17:00:54

标签: git cruisecontrol.net

我正在开发一个与CruiseControl.NET一起使用的构建自动化。 在我的ccnet.config文件中,我有以下sourcecontrol标记:

<sourcecontrol type="git">
      <repository>sourceControlAddress</repository>
      <branch>release-0.9.19</branch>
      <autoGetSource>true</autoGetSource>
      <fetchSubmodules>true</fetchSubmodules>
      <executable>C:\Program Files (x86)\Git\cmd\git.exe</executable>
      <tagOnSuccess>false</tagOnSuccess>
      <commitBuildModifications>false</commitBuildModifications>
      <commitUntrackedFiles>false</commitUntrackedFiles>
      <tagCommitMessage>Build {0}</tagCommitMessage>
      <tagNameFormat>Build-{0}</tagNameFormat>
      <committerName>Build</committerName>
      <committerEMail>build@build.com</committerEMail>
      <workingDirectory>d:\GIT\Sources\WEB</workingDirectory>
      <timeout>60000</timeout>
    </sourcecontrol> 

我目前唯一的问题是它“删除”了我的任何结账信息。 例如:如果我在git扩展中打开解决方案并检查分支,然后运行自动构建,如果我再次打开git扩展,我将有一个“无分支”而不是我选择的分支。 这会导致问题,特别是当我尝试在构建脚本中检查内容时,因为我收到一条消息:“当前不在任何分支上。”

如何设置要使用和检出的分支? (branch属性是分支的正确名称,autoGetSource设置为true)

谢谢!

编辑:我在控制台中运行了CC.net,我得到了他的信息:

  

[Git]调用git checkout -q -f origin / release-0.9.19

正确调用结帐。但它出于某种原因在运行时被“清除”。 也许是因为

  

[Git]调用git clean -d -f -x

1 个答案:

答案 0 :(得分:1)

git源代码控制提供程序从未被设计为与用户“用户”一起工作。因此,它仅支持签出远程分支而不创建本地跟踪分支以避免合并冲突。

那么为什么你在与CCNet相同的工作目录中工作?