mirror of
https://github.com/git/git
synced 2024-08-28 20:20:07 +00:00
![Kevin Willford](/assets/img/avatar_default.png)
Some file monitors like watchman will use something other than a timestamp to keep better track of what changes happen in between calls to query the fsmonitor. The clockid in watchman is a string. Now that the index is storing an opaque token for the last update the code needs to be updated to pass that opaque token to a verion 2 of the fsmonitor hook. Because there are repos that already have version 1 of the hook and we want them to continue to work when git is updated, we need to handle both version 1 and version 2 of the hook. In order to do that a config value is being added core.fsmonitorHookVersion to force what version of the hook should be used. When this is not set it will default to -1 and then the code will attempt to call version 2 of the hook first. If that fails it will fallback to trying version 1. Signed-off-by: Kevin Willford <Kevin.Willford@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
24 lines
486 B
Bash
Executable file
24 lines
486 B
Bash
Executable file
#!/bin/sh
|
|
#
|
|
# An test hook script to integrate with git to test fsmonitor.
|
|
#
|
|
# The hook is passed a version (currently 1) and a time in nanoseconds
|
|
# formatted as a string and outputs to stdout all files that have been
|
|
# modified since the given time. Paths must be relative to the root of
|
|
# the working tree and separated by a single NUL.
|
|
#
|
|
#echo "$0 $*" >&2
|
|
|
|
if test "$#" -ne 2
|
|
then
|
|
echo "$0: exactly 2 arguments expected" >&2
|
|
exit 2
|
|
fi
|
|
|
|
if test "$1" != 1
|
|
then
|
|
exit 1
|
|
fi
|
|
|
|
echo "/"
|