This series builds on top of the index-helper series I just sent and uses watchman to keep track of file changes in order to avoid lstat() at refresh time. The series can also be found at [1] When I started this work, watchman did not support Windows yet. It does now, even if still experimental [2]. So Windows people, please try it out if you have time. To put all pieces so far together, we have split-index to reduce index write time, untracked cache to reduce I/O as well as computation for .gitignore, index-helper for index read time and this series for lstat() at refresh time. The remaining piece is killing lstat() from untracked cache, but right now it's just some idea and incomplete code. [1] https://github.com/pclouds/git/commits/refresh-with-watchman [2] https://github.com/facebook/watchman/issues/19 Nguyễn Thái Ngọc Duy (5): read-cache: add watchman 'WAMA' extension Add watchman support to reduce index refresh cost read-cache: allow index-helper to prepare shm before git reads it index-helper: use watchman to avoid refreshing index with lstat() update-index: enable/disable watchman support Makefile | 12 +++++ builtin/update-index.c | 11 +++++ cache.h | 7 +++ config.c | 5 ++ configure.ac | 8 +++ environment.c | 3 ++ index-helper.c | 84 +++++++++++++++++++++++++++++-- read-cache.c | 126 ++++++++++++++++++++++++++++++++++++++++++++--- watchman-support.c (new) | 108 ++++++++++++++++++++++++++++++++++++++++ watchman-support.h (new) | 7 +++ 10 files changed, 361 insertions(+), 10 deletions(-) create mode 100644 watchman-support.c create mode 100644 watchman-support.h -- 2.2.0.513.g477eb31 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html