在终端上输入
$ hg status
它显示一个包含M和?的列表这表示它是修改过的文件和未知文件的列表,除了我没有对这些文件做任何事情。 如果我试图恢复
$ hg revert file/path/filename
它没有做任何事情,这些文件不会被还原并仍然列为已修改。 至于带有未知文件的?在左边,我只是不知道如何处理这些文件。
顺便说一句,那些文件处于未知状态的?仍然是该项目的一部分。 有人遇到过这个问题吗?
答案 0 :(得分:4)
你正确地理解了事物的运作方式,所以无论出现什么问题都是微妙的。要检查的第一件事是:启用了(可怕的,仇恨的,破碎的)inotify扩展吗?您可以查看hg showconfig | grep extensions
。一些流氓发行版启用了默认情况下这是一个巨大的问题。
如果那不是hg diff
的输出是什么样的?那么hg summary
呢?虽然我们正在使用你正在运行的版本?
最后,您使用的是网络安装驱动器,尤其是SMB / Windows吗?有时候窗口包含文件的执行权限,导致hg status
以使用hg diff
很难看到的方式显示它们。
答案 1 :(得分:1)
hg status
个文件?那些Mercurial没有跟踪并且没有被告知忽略的那些。至少文件有?可以暗示您需要将它们添加到存储库或忽略列表。根据您项目的结构,hg status
报告中未跟踪的文件通常只是一个小麻烦。但是,请确保不将它们添加到Mercurial不会导致问题。