Mercurial:"工作目录中未跟踪的文件与请求的修订版中的文件不同"?

Mar*_*eon 78 merge mercurial

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

工作目录中未跟踪的文件与请求的修订版中的文件不同

执行hg fetch时发生了这种情况:

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'
Run Code Online (Sandbox Code Playgroud)

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

我不清楚这甚至意味着什么.??

Ry4*_*ase 81

它告诉你已经有一个a/b/c/d.java在myapp repo的本地工作目录中命名的文件,但它没有被添加(跟踪),并且fetch不愿意在更新/合并时覆盖它.

你可以做的事情是以太:

  • 将您的副本a/b/c/d.java移开,然后执行拉/更新.之后比较你移动a/b/c/d.java到一个fetch降低.

要么

  • hg add a/b/c/d.java,hg commit a/b/c/d.java然后拉/合并

前者的工作原理是因为不再存在文件,后者的工作原因是跟踪了您的副本,因此Mercurial可以合并它们.

此外,您应该考虑停止使用fetch.它结合了pull,并updatemerge你的,这是不以安全的方式是.在这种情况下,你pull会成功,都updatemerge会给予更多的有用信息你.


小智 28

我跑来跑去了 hg update --clean


Jus*_*ony 8

我尝试了Ry4an的答案(删除文件)并且它仍然无法正常工作,因此我进行了清除,并且删除了所有痕迹,以便它可以使用.以防有人正在寻找替代解决方案.


Mat*_*ius 8

只需接受错误对话框然后勾选 Discard local changes, no backup

在此输入图像描述

你应该很好,它会覆盖任何未跟踪的本地文件......