fsmonitor: update documentation for hook version and watchman hooks
A new config value for core.fsmonitorHookVersion was added to be able to force the version of the fsmonitor hook. Possible values are 1 or 2. When this is not set the code will use a value of -1 and attempt to use version 2 of the hook first and if that fails will attempt version 1. Signed-off-by: Kevin Willford <Kevin.Willford@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
e4e1e8342a
commit
dfaed02862
@ -68,6 +68,17 @@ core.fsmonitor::
|
||||
avoiding unnecessary processing of files that have not changed.
|
||||
See the "fsmonitor-watchman" section of linkgit:githooks[5].
|
||||
|
||||
core.fsmonitorHookVersion::
|
||||
Sets the version of hook that is to be used when calling fsmonitor.
|
||||
There are currently versions 1 and 2. When this is not set,
|
||||
version 2 will be tried first and if it fails then version 1
|
||||
will be tried. Version 1 uses a timestamp as input to determine
|
||||
which files have changes since that time but some monitors
|
||||
like watchman have race conditions when used with a timestamp.
|
||||
Version 2 uses an opaque string so that the monitor can return
|
||||
something that can be used to determine what files have changed
|
||||
without race conditions.
|
||||
|
||||
core.trustctime::
|
||||
If false, the ctime differences between the index and the
|
||||
working tree are ignored; useful when the inode change time
|
||||
|
@ -490,9 +490,16 @@ fsmonitor-watchman
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This hook is invoked when the configuration option `core.fsmonitor` is
|
||||
set to `.git/hooks/fsmonitor-watchman`. It takes two arguments, a version
|
||||
(currently 1) and the time in elapsed nanoseconds since midnight,
|
||||
January 1, 1970.
|
||||
set to `.git/hooks/fsmonitor-watchman` or `.git/hooks/fsmonitor-watchmanv2`
|
||||
depending on the version of the hook to use.
|
||||
|
||||
Version 1 takes two arguments, a version (1) and the time in elapsed
|
||||
nanoseconds since midnight, January 1, 1970.
|
||||
|
||||
Version 2 takes two arguments, a version (2) and a token that is used
|
||||
for identifying changes since the token. For watchman this would be
|
||||
a clock id. This version must output to stdout the new token followed
|
||||
by a NUL before the list of files.
|
||||
|
||||
The hook should output to stdout the list of all files in the working
|
||||
directory that may have changed since the requested time. The logic
|
||||
|
Loading…
Reference in New Issue
Block a user