Changes from V4 include:
fsmonitor.c:
Only flag index dirty if fsmonitor extension is added or removed
or if new cache or untracked cache entries are marked dirty
dir.c:
If an untracked cache entry is flagged as fsmonitor_dirty,
fall back to existing logic to stat the file and check for
changes instead of assuming it is dirty.
hooks--query-fsmonitor.sample:
Optimize query to exclude transitory files (files that were
created and deleted since the last call).
Update path mangling on Windows to match Watchman beta.
test-drop-caches.c:
Add perf helper to drop the disk cache on Windows.
p7519-fsmonitor.sh:
Add perf test for fsmonitor changes
Ben Peart (7):
bswap: add 64 bit endianness helper get_be64
dir: make lookup_untracked() available outside of dir.c
fsmonitor: teach git to optionally utilize a file system monitor to
speed up detecting new or changed files.
fsmonitor: add test cases for fsmonitor extension
fsmonitor: add documentation for the fsmonitor extension.
fsmonitor: add a sample query-fsmonitor hook script for Watchman
fsmonitor: add a performance test
Documentation/config.txt | 7 +
Documentation/githooks.txt | 23 +++
Documentation/technical/index-format.txt | 19 +++
Makefile | 2 +
builtin/update-index.c | 1 +
cache.h | 5 +
compat/bswap.h | 4 +
config.c | 4 +
dir.c | 29 ++--
dir.h | 5 +
entry.c | 1 +
environment.c | 1 +
fsmonitor.c | 261 +++++++++++++++++++++++++++++++
fsmonitor.h | 9 ++
read-cache.c | 28 +++-
t/helper/test-drop-caches.c | 107 +++++++++++++
t/perf/p7519-fsmonitor.sh | 161 +++++++++++++++++++
t/t7519-status-fsmonitor.sh | 173 ++++++++++++++++++++
templates/hooks--query-fsmonitor.sample | 76 +++++++++
unpack-trees.c | 1 +
20 files changed, 904 insertions(+), 13 deletions(-)
create mode 100644 fsmonitor.c
create mode 100644 fsmonitor.h
create mode 100644 t/helper/test-drop-caches.c
create mode 100755 t/perf/p7519-fsmonitor.sh
create mode 100755 t/t7519-status-fsmonitor.sh
create mode 100755 templates/hooks--query-fsmonitor.sample
--
2.13.0