fsmonitor: relocate socket file if .git directory is remote
If the .git directory is on a remote filesystem, create the socket file in 'fsmonitor.socketDir' if it is defined, else create it in $HOME. Signed-off-by: Eric DeCosta <edecosta@mathworks.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
508c1a572d
commit
6beb2688d3
@ -18,7 +18,7 @@ int fsmonitor_ipc__is_supported(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char *fsmonitor_ipc__get_path(void)
|
||||
const char *fsmonitor_ipc__get_path(struct repository *r)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
@ -47,11 +47,9 @@ int fsmonitor_ipc__is_supported(void)
|
||||
return 1;
|
||||
}
|
||||
|
||||
GIT_PATH_FUNC(fsmonitor_ipc__get_path, "fsmonitor--daemon.ipc")
|
||||
|
||||
enum ipc_active_state fsmonitor_ipc__get_state(void)
|
||||
{
|
||||
return ipc_get_active_state(fsmonitor_ipc__get_path());
|
||||
return ipc_get_active_state(fsmonitor_ipc__get_path(the_repository));
|
||||
}
|
||||
|
||||
static int spawn_daemon(void)
|
||||
@ -81,8 +79,8 @@ int fsmonitor_ipc__send_query(const char *since_token,
|
||||
trace2_data_string("fsm_client", NULL, "query/command", tok);
|
||||
|
||||
try_again:
|
||||
state = ipc_client_try_connect(fsmonitor_ipc__get_path(), &options,
|
||||
&connection);
|
||||
state = ipc_client_try_connect(fsmonitor_ipc__get_path(the_repository),
|
||||
&options, &connection);
|
||||
|
||||
switch (state) {
|
||||
case IPC_STATE__LISTENING:
|
||||
@ -117,13 +115,13 @@ try_again:
|
||||
|
||||
case IPC_STATE__INVALID_PATH:
|
||||
ret = error(_("fsmonitor_ipc__send_query: invalid path '%s'"),
|
||||
fsmonitor_ipc__get_path());
|
||||
fsmonitor_ipc__get_path(the_repository));
|
||||
goto done;
|
||||
|
||||
case IPC_STATE__OTHER_ERROR:
|
||||
default:
|
||||
ret = error(_("fsmonitor_ipc__send_query: unspecified error on '%s'"),
|
||||
fsmonitor_ipc__get_path());
|
||||
fsmonitor_ipc__get_path(the_repository));
|
||||
goto done;
|
||||
}
|
||||
|
||||
@ -149,8 +147,8 @@ int fsmonitor_ipc__send_command(const char *command,
|
||||
options.wait_if_busy = 1;
|
||||
options.wait_if_not_found = 0;
|
||||
|
||||
state = ipc_client_try_connect(fsmonitor_ipc__get_path(), &options,
|
||||
&connection);
|
||||
state = ipc_client_try_connect(fsmonitor_ipc__get_path(the_repository),
|
||||
&options, &connection);
|
||||
if (state != IPC_STATE__LISTENING) {
|
||||
die(_("fsmonitor--daemon is not running"));
|
||||
return -1;
|
||||
|
||||
Reference in New Issue
Block a user