代码之家  ›  专栏  ›  技术社区  ›  Jack Ryan

在teamcity的mercurial revision上添加“push在分支上创建新的远程头”失败。

  •  1
  • Jack Ryan  · 技术社区  · 15 年前

    我在TeamCity中建立了一个构建,用于构建和测试一个Mercurial分支,然后应该标记该分支。

    该建筑工作正常,但当涉及到标签时,它失败了,错误为“push在分支“default”上创建新的远程头”。我觉得这有点奇怪,因为正在使用的分支不是默认分支。

    5 回复  |  直到 12 年前
        1
  •  2
  •   Mark Tolonen    15 年前

    hg tag .hgtags

        2
  •  1
  •   jslatts    15 年前

    当TeamCity尝试将标记更改签入到Mercurial时发生了这种情况,但由于用于签出/签入的帐户发生了更改而失败。TeamCity不知道如何合并变更集,因此它只需继续下载新的变更集,构建,然后尝试检查未合并的变更集,其中给出了您看到的错误。

    从BuildServer中删除缓存是最简单的恢复方法。

        3
  •  0
  •   Rudi    15 年前

    您可以提取远程存储库并使用 hg heads 有哪些头,是谁创建的,如果你想合并的话。

        4
  •  0
  •   Jack Ryan    15 年前

    虽然我不能确定TeamCity是如何以多个头部结束的,但在TeamCity执行构建时可能有一个签入,它最终以多个头部结束。因为它每次尝试推送时都会重复使用同一个mercurial目录,结果失败了。解决方案是删除mercurial cache目录中的所有目录,就像在版本控制设置页上设置的那样。然后重新启动TeamCity。这给了我们一个干净的房间,一切都按计划进行了。

        5
  •  0
  •   neverov    12 年前

    我认为发生这种情况是因为您的“默认”分支已关闭或合并到另一个分支。TeamCity不强制推送,当推送在分支中创建新的头时失败。

    在版本8.0之前,TeamCity用于将忽略VCS根设置的分支“默认”推入分支,而在8.0中,它使用标记提交的分支。

    推荐文章