最近,我的机器上似乎发生了一些比其他任何事情都更烦人的事情:每次我在目录中查看 Mercurial 更改时,它都会告诉我有两个.nfs####
文件然后立即消失。 ####
似乎每次它们闪烁时都会增加。
我的电脑是不是出问题了?这跟 Mercurial 有关吗?跟文件系统有关(这是网络安装的驱动器)?
$ hg st
? .nfs000000001b1d062600000a43
? .nfs000000001b1d085a00000a44
$ ls -lhtrA
total 1.7M
drwxrwxr-x 5 nick nick 4.0K Sep 2 14:34 media/
drwxrwxr-x 6 nick nick 4.0K Sep 19 17:07 venv/
drwxrwxr-x 7 nick nick 4.0K Sep 19 18:55 lab_web/
drwxrwxr-x 8 nick nick 4.0K Sep 19 20:15 templates/
drwxrwxr-x 5 nick nick 4.0K Sep 20 17:44 .hg/
-rw-rw-r-- 1 nick nick 252 Jul 23 17:21 manage.py
-rw-rw-r-- 1 nick nick 177 Sep 19 17:07 requirements.txt
-rw-r--r-- 1 nick nick 1.7M Sep 19 19:46 lab_sqlite3.db
-rw-rw-r-- 1 nick nick 141 Sep 19 20:26 debug_requirements.txt
-rw-rw-r-- 1 nick nick 274 Sep 20 17:44 .hgignore
$ hg st
? .nfs000000001b1d062600000a47
? .nfs000000001b1d085a00000a48
$ hg st
? .nfs000000001b1d062600000a49
? .nfs000000001b1d085a00000a4a
答案1
.nfs*
文件与NFS。当文件被删除但仍由客户端打开时,它们会出现在 NFS 服务器上。服务器不能删除该文件,因为它仍然需要向打开它的客户端提供数据。另一方面,服务器必须删除该文件,因为删除它的进程认为它不再存在。因此 NFS 服务器将文件重命名为希望没人关心的名称。
尝试删除它们是没有用的:您将删除一个仍然由 NFS 客户端打开的文件,因此服务器只会创建一个新.nfs*
文件来保存数据。
最终,客户端将关闭文件,并且.nfs*
文件内容也会消失。
您可以指示 Mercurial 忽略这些文件。在[ui]
部分中~/.hgrc
,添加 行,并创建包含 行 的ignore = ~/.hgignore.global
文件。~/.hgignore.global
.nfs*