Merge 合并已(本地)删除的文件夹

Merge 合并已(本地)删除的文件夹,merge,mercurial,abort,Merge,Mercurial,Abort,我正在使用Mercurial,遇到了一个我不确定如何解决的问题。我目前面临的问题如下: 我们有一个项目(文件夹),最初称为a,并将其推送到远程存储库 我将项目A重命名为B,并将其推送到远程存储库。在这样做的同时,我还在本地将项目A重命名为B 项目A已从远程存储库中删除 我试着拉这些变化,但Mercurial似乎感到困惑,因为文件(或文件路径)不再存在于本地 如果调用“hgmerge”,将生成以下输出: “中止:未提交的更改,…” 如果我随后调用“hg status”,则会列出项目A初始版本中

我正在使用Mercurial,遇到了一个我不确定如何解决的问题。我目前面临的问题如下:

  • 我们有一个项目(文件夹),最初称为a,并将其推送到远程存储库
  • 我将项目A重命名为B,并将其推送到远程存储库。在这样做的同时,我还在本地将项目A重命名为B
  • 项目A已从远程存储库中删除
  • 我试着拉这些变化,但Mercurial似乎感到困惑,因为文件(或文件路径)不再存在于本地
如果调用“
hgmerge
”,将生成以下输出: “中止:未提交的更改,…” 如果我随后调用“
hg status
”,则会列出项目A初始版本中的所有文件-这些文件现在不再在本地可用,因为路径已从
A/../../../../..//code>更改为
B/../../../..//code>


有谁能给我一个关于如何解决这个问题的提示或提示吗?

列出的文件是否被列为“已删除”(我想是R)


如果是,只需提交此更改(关于已删除的文件),然后合并。Mercurial必须了解所有更改,包括移动或删除的文件。

Grr,过早点击“返回”。如果我理解正确的话,标记为“R”的文件在商店ATM中,因为我从远程存储库提取更改时收到了带有更改集的文件,对吗?但如果是这样的话,那么存储在我的工作目录之外的另一个版本,这是在调用“hg tip”(输出版本44)和“hg parents”(输出版本43)时确认的。因此它们只是被标记为已删除。您需要提交以使存储库注册“已删除这些文件”。然后,由于没有未限制的其他更改,您将能够合并。记住这一点。存储库必须保留所有更改,包括删除2。mercurial只能合并已注册的更改集,不能合并未提交的更改。@Chris>如果未提交,则不会存储更改集。你在移动这些文件后提交了吗?它们似乎被标记为R,因为mercurial不在这些文件和这些文件的新位置之间建立链接。我不需要将我的工作目录更新为rev 44而不是提交吗?我认为提交意味着将更改从工作目录写入存储,更新意味着将更改集从存储移到工作目录?@Klaim:我认为我在移动文件后做了一些错误的事情,因为我刚刚再次添加了移动的文件并将其推送到远程存储库,所以我相信Mercurial不知道在旧位置和新位置之间应该有一个链接。