Hi Alex, On Thu, 19 Oct 2017, Alex Vandiver wrote: > Signed-off-by: Alex Vandiver <alexmv@xxxxxxxxxxx> > --- > t/t7519/fsmonitor-watchman | 3 ++- > templates/hooks--fsmonitor-watchman.sample | 3 ++- > 2 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/t/t7519/fsmonitor-watchman b/t/t7519/fsmonitor-watchman > index a3e30bf54..377edc7be 100755 > --- a/t/t7519/fsmonitor-watchman > +++ b/t/t7519/fsmonitor-watchman > @@ -41,7 +41,8 @@ if ($system =~ m/^MSYS_NT/ || $system =~ m/^MINGW/) { > $git_work_tree =~ s/[\r\n]+//g; > $git_work_tree =~ s,\\,/,g; > } else { > - $git_work_tree = $ENV{'PWD'}; > + $git_work_tree = `git rev-parse --show-toplevel`; > + chomp $git_work_tree; This is super expensive, as it means a full-blown new process instead of just a simple environment variable expansion. The idea behind using `PWD` instead was that Git will already have done all of the work of figuring out the top-level directory and switched to there before calling the fsmonitor hook. Did you see any case where the script was *not* called from the top-level directory? Ciao, Johannes