【问题标题】:Teamcity automerge cannot find destination branchTeamcity automerge 找不到目标分支
【发布时间】:2016-03-01 13:03:00
【问题描述】:

我正在尝试为 teamcity 构建设置自动合并更改。 TeamCity Professional 9.1.6(内部版本 37459)

我希望将分支 release/* 中的所有更改合并到以下分支中:

develop-automerge

VCS 根规范:

默认分支

master

分支规范

+:(develop)
+:(feature/*)
+:(bugfix/*)
+:(hotfix/*)
+:(release/*)

自动合并:

在分支中观察构建

+:release/(*)

合并到分支

develop-automerge

我收到了错误:

自动合并失败:找不到要合并到的目标分支: 没有 VCS 分支映射到“develop-automerge”逻辑分支名称 根据 VCS 根分支规范

我也尝试在分支规范中包含develop-automerge:

分支规范

+:(develop-automerge)
+:(develop)
+:(feature/*)
+:(bugfix/*)
+:(hotfix/*)
+:(release/*)

分支develop-automerge存在,并且有这个分支的构建。

在 release/* 中构建后得到相同的错误消息

这个设置有什么问题?

【问题讨论】:

    标签: git continuous-integration teamcity teamcity-9.1 automerge


    【解决方案1】:

    分支规范看起来好像缺少 git refs/heads 路径,试试这个:

    +:refs/heads/(develop-automerge)
    +:refs/heads/(develop)
    +:refs/heads/(feature/*)
    +:refs/heads/(bugfix/*)
    +:refs/heads/(hotfix/*)
    +:refs/heads/(release/*)
    

    默认分支也应该是

    refs/heads/master 而不是master

    develop-automerge 的逻辑分支名称看起来没问题,因为它应该与分支规范的逻辑部分匹配。

    【讨论】:

    • 您能否详细说明 refs/heads 要求,它与所述问题有何关系?
    • 认为develop-automerge 的逻辑分支名称没有被评估,因为分支规范与 git 中的实际分支名称不匹配(带有 refs/heads/)。我以前没有见过分支规格;并且文档当然倾向于包含完整路径。
    • 为我工作。但我没有将 master 更改为 refs/heads/master
    【解决方案2】:

    目标自动合并分支应该在相同的构建配置中构建,因此您需要将目标分支包含在分支规范中,并且该分支应该存在于 VCS 中。在未来的 TeamCity 版本中,这可能是 changed

    【讨论】:

    • 我尝试将目标分支包含在分支规范中,如原始答案中所反映的那样。该分支实际上存在于 VCS (Git) 中,我可以看到该分支的构建。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-09
    • 1970-01-01
    • 2021-10-27
    相关资源
    最近更新 更多