Mercurial : "untracked file in working directory differs from file in requested revision"?

标签 mercurial merge

谁能告诉我这个 Mercurial 错误意味着什么?

untracked file in working directory differs from file in requested revision

在进行 hg 获取时发生这种情况:

C:\myapp>hg fetch ssh://hg/myapp-v1
pulling from ssh://hg/myapp-v1
searching for changes
adding changesets
adding manifests
adding file changes
added 93 changesets with 693 changes to 78 files (+1 heads)
updating to 797:0df7dbe7dc06
196 files updated, 0 files merged, 196 files removed, 0 files unresolved
merging with 704:edb7765768c6
abort: untracked file in working directory differs from file in requested revision: 'a/b/c/d.java'

据我所知,此文件 (a/b/c/d.java) 与 .hgignore 中配置的任何路径都不匹配。这个特定文件在两个(myapp 和 myapp-v1)存储库中也是相同的。

我不清楚这是什么意思。 ??

最佳答案

它告诉您在 myapp 存储库的本地工作目录中已经有一个名为 a/b/c/d.java 的文件,但尚未添加(跟踪),并且更新/merge 时 fetch 不愿意覆盖它。

你能做的事情是以太:

  • a/b/c/d.java 副本移开,然后进行拉取/更新。之后,将您移动的 a/b/c/d.java 与一次获取操作进行比较。

  • hg add a/b/c/d.javahg commit a/b/c/d.java,然后拉取/merge

前者可以工作,因为不再有文件挡路,而后者可以工作,因为您的副本已被跟踪,因此 Mercurial 可以 merge 它们。

此外,您应该考虑停止使用 fetch。它为您组合了pullupdatemerge,但这并不是一种安全的方式。在这种情况下,您的pull将会成功,并且updatemerge都会给您提供更多有用的消息。

关于 Mercurial : "untracked file in working directory differs from file in requested revision"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4822129/

相关文章:

Git Merge vs Rebase - 解决冲突

ssl - Mercurial 1.7.3 证书错误 Windows

powershell - 如何在PowerShell中递归查找包含.hg文件夹的所有文件夹

mercurial - 如果 Mercurial 中存在未提交的子存储库更改,如何使 "commit"中止?

video - 合并 675 个视频文件

version-control - 最好的三向合并工具是什么?

java - JPA 合并实体管理器

java - IntelliJ IDEA 突然失去了所有的类关系。无法解析符号

mercurial - 带有 Mercurial 的 Visual FoxPro?

git - merge --squash 和 rebase 有什么区别?