无法分解多副本变更集以生成差异

Failed to decompose multicopy changeset in order to generate diff

我在尝试将 diff 登陆 master 时遇到以下错误。

Failed to decompose multicopy changeset in order to generate diff.

以下是异常详情

[2020-03-26 12:06:37] EXCEPTION: (Exception) Failed to decompose multicopy changeset in order to generate diff. at [<arcanist>/src/parser/ArcanistBundle.php:375]
arcanist(head=master, ref.master=605119b9319b), phutil(head=master, ref.master=9f2c1e1412e2)
  #0 ArcanistBundle::toGitPatch() called at [<arcanist>/src/workflow/ArcanistLandWorkflow.php:1057]
  #1 ArcanistLandWorkflow::normalizeDiff(string) called at [<arcanist>/src/workflow/ArcanistLandWorkflow.php:985]
  #2 ArcanistLandWorkflow::findRevision() called at [<arcanist>/src/workflow/ArcanistLandWorkflow.php:1889]
  #3 ArcanistLandWorkflow::buildEngineMessage(ArcanistGitLandEngine) called at [<arcanist>/src/land/ArcanistGitLandEngine.php:92]
  #4 ArcanistGitLandEngine::identifyRevision() called at [<arcanist>/src/land/ArcanistGitLandEngine.php:28]
  #5 ArcanistGitLandEngine::execute() called at [<arcanist>/src/workflow/ArcanistLandWorkflow.php:370]
  #6 ArcanistLandWorkflow::run() called at [<arcanist>/scripts/arcanist.php:394]

有人可以帮忙吗?

在图像中我们可以看到 src/components/organization/ 生成的 /CreateOrganization.js 文件被拆分为多个文件。基本上,它的内容被复制到两个不同的文件,然后被删除。这可能会触发多副本分解。

勾选https://gitlab.collabora.com/phabricator/arcanist/-/blob/d2b38cdf94441146daf5f5ae68169689dc0c24d7/src/parser/ArcanistBundle.php#L356

根据代码,arc 试图将 multicopy 分解为一个 MOVE 和多个 COPY。在上述情况下它无法分解。可能是因为源文件被删除了。放回 CreateOrganization.js 文件,然后更新差异。