diff options
author | Kevin Willford <Kevin.Willford@microsoft.com> | 2020-01-07 19:04:29 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-01-13 14:58:43 -0800 |
commit | 8da2c57629a16e148b0f94282ac787c1503e4779 (patch) | |
tree | 7b425da1398d08acd6c36e8a38d5e24cf999196e /t/t7519 | |
parent | fsmonitor: change last update timestamp on the index_state to opaque token (diff) | |
download | tgif-8da2c57629a16e148b0f94282ac787c1503e4779.tar.xz |
fsmonitor: handle version 2 of the hooks that will use opaque token
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>
Diffstat (limited to 't/t7519')
-rwxr-xr-x | t/t7519/fsmonitor-all | 1 | ||||
-rwxr-xr-x | t/t7519/fsmonitor-watchman | 3 |
2 files changed, 1 insertions, 3 deletions
diff --git a/t/t7519/fsmonitor-all b/t/t7519/fsmonitor-all index 691bc94dc2..94ab66bd3d 100755 --- a/t/t7519/fsmonitor-all +++ b/t/t7519/fsmonitor-all @@ -17,7 +17,6 @@ fi if test "$1" != 1 then - echo "Unsupported core.fsmonitor hook version." >&2 exit 1 fi diff --git a/t/t7519/fsmonitor-watchman b/t/t7519/fsmonitor-watchman index d8e7a1e5ba..264b9daf83 100755 --- a/t/t7519/fsmonitor-watchman +++ b/t/t7519/fsmonitor-watchman @@ -26,8 +26,7 @@ if ($version == 1) { # subtract one second to make sure watchman will return all changes $time = int ($time / 1000000000) - 1; } else { - die "Unsupported query-fsmonitor hook version '$version'.\n" . - "Falling back to scanning...\n"; + exit 1; } my $git_work_tree; |