Mercurial hg status显示我没有修改的文件

时间:2013-10-14 22:43:22

标签: mercurial terminal

在终端上输入

$ hg status

它显示一个包含M和?的列表这表示它是修改过的文件和未知文件的列表,除了我没有对这些文件做任何事情。 如果我试图恢复

$ hg revert file/path/filename

它没有做任何事情,这些文件不会被还原并仍然列为已修改。 至于带有未知文件的?在左边,我只是不知道如何处理这些文件。

顺便说一句,那些文件处于未知状态的?仍然是该项目的一部分。 有人遇到过这个问题吗?

2 个答案:

答案 0 :(得分:4)

你正确地理解了事物的运作方式,所以无论出现什么问题都是微妙的。要检查的第一件事是:启用了(可怕的,仇恨的,破碎的)inotify扩展吗?您可以查看hg showconfig | grep extensions。一些流氓发行版启用了默认情况下这是一个巨大的问题。

如果那不是hg diff的输出是什么样的?那么hg summary呢?虽然我们正在使用你正在运行的版本?

最后,您使用的是网络安装驱动器,尤其是SMB / Windows吗?有时候窗口包含文件的执行权限,导致hg status以使用hg diff很难看到的方式显示它们。

答案 1 :(得分:1)

带有?的{p> hg status个文件?那些Mercurial没有跟踪并且没有被告知忽略的那些。至少文件有?可以暗示您需要将它们添加到存储库或忽略列表。根据您项目的结构,hg status报告中未跟踪的文件通常只是一个小麻烦。但是,请确保不将它们添加到Mercurial不会导致问题。