fsmonitor: set the PWD to the top of the working tree
authorAlex Vandiver <alexmv@dropbox.com>
Fri, 27 Oct 2017 23:26:34 +0000 (16:26 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 30 Oct 2017 02:45:51 +0000 (11:45 +0900)
The fsmonitor command inherits the PWD of its caller, which may be
anywhere in the working copy. This makes is difficult for the
fsmonitor command to operate on the whole repository. Specifically,
for the watchman integration, this causes each subdirectory to get its
own watch entry.

Set the CWD to the top of the working directory, for consistency.

Signed-off-by: Alex Vandiver <alexmv@dropbox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
fsmonitor.c
index 7c1540c05493f9437e33f4dd0ec18bae0b5f808c..4ea44dcc6a683b6ffd29ecc707da4a37eb7d6350 100644 (file)
@@ -121,6 +121,7 @@ static int query_fsmonitor(int version, uint64_t last_update, struct strbuf *que
        argv[3] = NULL;
        cp.argv = argv;
        cp.use_shell = 1;
+       cp.dir = get_git_work_tree();
 
        return capture_command(&cp, query_result, 1024);
 }