watchman 是否通知已删除的文件?

is watchman notifies for deleted files?

我试图在文档中查找,但没有找到指示。

我看了win32 watch的代码(因为我对API很熟悉,好像没有)。

文件删除跟踪在 windows 上非常复杂,因为 API 提供的文件名 "randomly" 已损坏,如果文件不再存在,则需要解析真实名称 "long path" 很难说原来是什么。

我已经为我以前的公司实现了这样的事情,保留文件的当前状态并协调内部发生更改的每个目录的文件列表。效果很好。

我的问题是:我是否错过了它并且 watchman 通知删除的文件?如果没有,是否有计划在不久的将来添加这些通知。

简短的回答:是的。

较长的答案:较复杂的部分并不完全 windows 具体。

可以在此处找到处理错位名称的位: https://github.com/facebook/watchman/blob/master/root.c#L748

处理删除的位分为两部分;当我们准确检查我们收到通知的文件时,第一个处理事情: https://github.com/facebook/watchman/blob/master/root.c#L853

第二种是一种 "garbage collection" 方法,我们查看包含目录并发现文件已经消失: https://github.com/facebook/watchman/blob/master/root.c#L1353