我找不到有关Bazel如何跟踪文件的任何信息。该文档没有提及他们是否使用了诸如Facebook的守望者之类的东西。
它显然需要某种哈希值并进行比较,但是它到底是怎么做到的呢?因为它知道事情是否没有立即改变,并且无法在这么短的时间内读取所有这些文件。
如果您正在观看许多文件,那么像Google这样的单存储库将占用很多空间?我知道这是缩放git的问题之一,因为除非使用某些智能缓存,否则“ git status”将变慢。
答案 0 :(得分:3)
Bazel使用OS文件系统监视API,例如Linux上的inotify和Mac OS上的FSEvents