无法推送到 Plastic SCM 服务器:源分支不能有多个头

Can't push to Plastic SCM server: the source branch can't have multiple heads

我正在尝试将本地存储库分支上的变更集推送到 Plastic SCM 云上的变更集。据我在 Branch Explorer 中所知,分支上只有一个负责人。但是当我尝试推送时,出现错误 "The source branch can't have multiple heads." 我该如何解决这个错误?我在哪里可以找到 Plastic 所说的第二个头?

有时很难找到未合并并导致双头情况的变更集。

我已经创建了这个小工具 -> MultipleHeaderFinder 它能够忽略已经合并的变更集,这就是你如何使用它(假设你正在复制 quake@localhost:8087 的主分支存储库):

  1. cm 找到 merge where srcbranch='br:/main' and dstbranch='br:/main' --format={srcchangeset} --nototal > merges.txt
  2. cm 在 branch='/main' --format={changesetid}@{parent} --nototal > csets.txt
  3. 处查找变更集
  4. MultipleHeaderFinder.exe csets.txt merges.txt quake@localhost:8087

它将return类似于:

mount:56e62dd7-241f-41e9-8c6b-dd4ca4513e62#quake@localhost:8087 合并自:Merge 476

最后一个数字是导致问题的变更集,您可以在分支浏览器中找到它并合并它。您可能有多个,在这种情况下,对找到的每个变更集重复合并。

希望对您有所帮助!