]> git.ipfire.org Git - thirdparty/git.git/blobdiff - builtin/fsmonitor--daemon.c
Merge branch 'jh/t7527-unflake-by-forcing-cookie'
[thirdparty/git.git] / builtin / fsmonitor--daemon.c
index c69da93ecebe54b8af93a51452c9796eda15b377..6607130c9f4fe9edcc3e20ebd8bff206bc8449f5 100644 (file)
@@ -3,6 +3,7 @@
 #include "parse-options.h"
 #include "fsmonitor.h"
 #include "fsmonitor-ipc.h"
+#include "fsmonitor-path-utils.h"
 #include "compat/fsmonitor/fsm-health.h"
 #include "compat/fsmonitor/fsm-listen.h"
 #include "fsmonitor--daemon.h"
@@ -709,6 +710,7 @@ static int do_handle_client(struct fsmonitor_daemon_state *state,
                                  "fsmonitor: unsupported V1 protocol '%s'"),
                                 command);
                do_trivial = 1;
+               do_cookie = 1;
 
        } else {
                /* We have "builtin:*" */
@@ -718,6 +720,7 @@ static int do_handle_client(struct fsmonitor_daemon_state *state,
                                         "fsmonitor: invalid V2 protocol token '%s'",
                                         command);
                        do_trivial = 1;
+                       do_cookie = 1;
 
                } else {
                        /*
@@ -1282,6 +1285,11 @@ static int fsmonitor_run_daemon(void)
        strbuf_addstr(&state.path_worktree_watch, absolute_path(get_git_work_tree()));
        state.nr_paths_watching = 1;
 
+       strbuf_init(&state.alias.alias, 0);
+       strbuf_init(&state.alias.points_to, 0);
+       if ((err = fsmonitor__get_alias(state.path_worktree_watch.buf, &state.alias)))
+               goto done;
+
        /*
         * We create and delete cookie files somewhere inside the .git
         * directory to help us keep sync with the file system.  If
@@ -1343,7 +1351,8 @@ static int fsmonitor_run_daemon(void)
         * directory.)
         */
        strbuf_init(&state.path_ipc, 0);
-       strbuf_addstr(&state.path_ipc, absolute_path(fsmonitor_ipc__get_path()));
+       strbuf_addstr(&state.path_ipc,
+               absolute_path(fsmonitor_ipc__get_path(the_repository)));
 
        /*
         * Confirm that we can create platform-specific resources for the
@@ -1390,6 +1399,8 @@ done:
        strbuf_release(&state.path_gitdir_watch);
        strbuf_release(&state.path_cookie_prefix);
        strbuf_release(&state.path_ipc);
+       strbuf_release(&state.alias.alias);
+       strbuf_release(&state.alias.points_to);
 
        return err;
 }