From: "Eric DeCosta via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Eric DeCosta <edecosta@mathworks.com>
Subject: [PATCH v2 0/4] fsmonitor: option to allow fsmonitor to run against network-mounted repos
Date: Tue, 23 Aug 2022 13:03:36 +0000 [thread overview]
Message-ID: <pull.1326.v2.git.1661259820.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1326.git.1660855703816.gitgitgadget@gmail.com>
cc: Johannes Schindelin Johannes.Schindelin@gmx.de cc: Jeff Hostetler
git@jeffhostetler.com cc: Eric Sunshine sunshine@sunshineco.com cc: Torsten
Bögershausen tboegi@web.de
Eric DeCosta (2):
fsmonitor: option to allow fsmonitor to run against network-mounted
repos
fsmonitor: macOS: allow fsmonitor to run against network-mounted repos
edecosta (2):
Check working directory and Unix domain socket file for compatability
Minor refactoring and simplification of Windows settings checks
compat/fsmonitor/fsm-settings-darwin.c | 72 +++++++++++++++++++-------
compat/fsmonitor/fsm-settings-win32.c | 47 ++++++++++++++++-
fsmonitor-ipc.c | 40 ++++++++++++--
fsmonitor-ipc.h | 6 +++
fsmonitor-settings.c | 67 +++++++++++++++++++++++-
fsmonitor-settings.h | 4 ++
6 files changed, 210 insertions(+), 26 deletions(-)
base-commit: 9bf691b78cf906751e65d65ba0c6ffdcd9a5a12c
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1326%2Fedecosta-mw%2Ffsmonitor_macos-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1326/edecosta-mw/fsmonitor_macos-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/1326
Range-diff vs v1:
-: ----------- > 1: 40ce21e85c9 fsmonitor: option to allow fsmonitor to run against network-mounted repos
-: ----------- > 2: 46b4efd96cc fsmonitor: macOS: allow fsmonitor to run against network-mounted repos
1: 425df16ac0b ! 3: 9b128a98149 fsmonitor: option to allow fsmonitor to run against network-mounted repos
@@
## Metadata ##
-Author: Eric DeCosta <edecosta@mathworks.com>
+Author: edecosta <edecosta@mathworks.com>
## Commit message ##
- fsmonitor: option to allow fsmonitor to run against network-mounted repos
+ Check working directory and Unix domain socket file for compatability
- Though perhaps not common, there are uses cases where users have large,
- network-mounted repos. Having the ability to run fsmonitor against
- network paths would benefit those users.
+ Perform separate checks for the working directory and Unix domain socket
+ (UDS) file location. The working directory may be located on a
+ network-mounted file system if 'fsmonitor.allowRemote' is true. The UDS
+ file may never be located on a network-mounted file system; additionally
+ it may not be located on FAT32 or NTFS file systems.
- As a first step towards enabling fsmonitor to work against
- network-mounted repos, a configuration option, 'fsmonitor.allowRemote'
- was introduced for Windows. Setting this option to true will override
- the default behavior (erroring-out) when a network-mounted repo is
- detected by fsmonitor. In order for macOS to have parity with Windows,
- the same option is now introduced for macOS.
-
- The the added wrinkle being that the Unix domain socket (UDS) file
- used for IPC cannot be created in a network location; instead the
- temporary directory is used.
-
- Signed-off-by: Eric DeCosta <edecosta@mathworks.com>
+ Signed-off-by: edecosta <edecosta@mathworks.com>
## compat/fsmonitor/fsm-settings-darwin.c ##
@@
- #include "config.h"
#include "repository.h"
#include "fsmonitor-settings.h"
-+#include "fsmonitor-ipc.h"
#include "fsmonitor.h"
++#include "fsmonitor-ipc.h"
#include <sys/param.h>
#include <sys/mount.h>
-+/*
-+ * Check if monitoring remote working directories is allowed.
-+ *
-+ * By default, monitoring remote working directories is
-+ * disabled. Users may override this behavior in enviroments where
-+ * they have proper support.
-+ */
-+static int check_config_allowremote(struct repository *r)
-+{
-+ int allow;
-+
-+ if (!repo_config_get_bool(r, "fsmonitor.allowremote", &allow))
-+ return allow;
-+
-+ return -1; /* fsmonitor.allowremote not set */
-+}
-+
/*
- * [1] Remote working directories are problematic for FSMonitor.
+- * [1] Remote working directories are problematic for FSMonitor.
++ * Remote working directories are problematic for FSMonitor.
*
+ * The underlying file system on the server machine and/or the remote
+ * mount type (NFS, SAMBA, etc.) dictates whether notification events
@@
* In theory, the above issues need to be addressed whether we are
* using the Hook or IPC API.
*
-+ * So (for now at least), mark remote working directories as
-+ * incompatible by default.
-+ *
- * For the builtin FSMonitor, we create the Unix domain socket for the
+- * For the builtin FSMonitor, we create the Unix domain socket for the
- * IPC in the .git directory. If the working directory is remote,
- * then the socket will be created on the remote file system. This
- * can fail if the remote file system does not support UDS file types
@@ compat/fsmonitor/fsm-settings-darwin.c
- * well-known local directory on the client machine, but care should
- * be taken to ensure that $HOME is actually local and not a managed
- * file share.)
-+ * IPC in the temporary directory. If the temporary directory is
-+ * remote, then the socket will be created on the remote file system.
-+ * This can fail if the remote file system does not support UDS file
-+ * types (e.g. smbfs to a Windows server) or if the remote kernel does
-+ * not allow a non-local process to bind() the socket.
- *
-- * So (for now at least), mark remote working directories as
+- *
+ * So (for now at least), mark remote working directories as
- * incompatible.
-+ * Therefore remote UDS locations are marked as incompatible.
- *
- *
- * [2] FAT32 and NTFS working directories are problematic too.
- *
+- *
+- *
+- * [2] FAT32 and NTFS working directories are problematic too.
+- *
- * The builtin FSMonitor uses a Unix domain socket in the .git
-+ * The builtin FSMonitor uses a Unix domain socket in the temporary
- * directory for IPC. These Windows drive formats do not support
- * Unix domain sockets, so mark them as incompatible for the daemon.
+- * directory for IPC. These Windows drive formats do not support
+- * Unix domain sockets, so mark them as incompatible for the daemon.
++ * incompatible unless fsmonitor.allowRemote is true.
*
+ */
+ static enum fsmonitor_reason check_volume(struct repository *r)
@@ compat/fsmonitor/fsm-settings-darwin.c: static enum fsmonitor_reason check_volume(struct repository *r)
"statfs('%s') [type 0x%08x][flags 0x%08x] '%s'",
r->worktree, fs.f_type, fs.f_flags, fs.f_fstypename);
-+ if (!(fs.f_flags & MNT_LOCAL)) {
-+ switch (check_config_allowremote(r)) {
-+ case 0: /* config overrides and disables */
++ if (!(fs.f_flags & MNT_LOCAL)
++ && (fsm_settings__get_allow_remote(r) < 1))
+ return FSMONITOR_REASON_REMOTE;
-+ case 1: /* config overrides and enables */
-+ return FSMONITOR_REASON_OK;
-+ default:
-+ break; /* config has no opinion */
-+ }
-+
-+ return FSMONITOR_REASON_REMOTE;
-+ }
+
+ return FSMONITOR_REASON_OK;
+}
+
++/*
++ * For the builtin FSMonitor, we create the Unix domain socket (UDS)
++ * for the IPC in the .git directory by default or $HOME if
++ * fsmonitor.allowRemote is true. If the directory is remote,
++ * then the socket will be created on the remote file system. This
++ * can fail if the remote file system does not support UDS file types
++ * (e.g. smbfs to a Windows server) or if the remote kernel does not
++ * allow a non-local process to bind() the socket.
++ *
++ * Therefore remote UDS locations are marked as incompatible.
++ *
++ * FAT32 and NTFS working directories are problematic too.
++ *
++ * These Windows drive formats do not support Unix domain sockets, so
++ * mark them as incompatible for the location of the UDS file.
++ *
++ */
+static enum fsmonitor_reason check_uds_volume(void)
+{
+ struct statfs fs;
-+ const char *path = fsmonitor_ipc__get_path();
++ struct strbuf path = STRBUF_INIT;
++ const char *ipc_path = fsmonitor_ipc__get_path();
++ strbuf_add(&path, ipc_path, strlen(ipc_path));
+
-+ if (statfs(path, &fs) == -1) {
++ if (statfs(dirname(path.buf), &fs) == -1) {
+ int saved_errno = errno;
+ trace_printf_key(&trace_fsmonitor, "statfs('%s') failed: %s",
-+ path, strerror(saved_errno));
++ path.buf, strerror(saved_errno));
+ errno = saved_errno;
++ strbuf_release(&path);
+ return FSMONITOR_REASON_ERROR;
+ }
+
+ trace_printf_key(&trace_fsmonitor,
+ "statfs('%s') [type 0x%08x][flags 0x%08x] '%s'",
-+ path, fs.f_type, fs.f_flags, fs.f_fstypename);
++ path.buf, fs.f_type, fs.f_flags, fs.f_fstypename);
++ strbuf_release(&path);
+
if (!(fs.f_flags & MNT_LOCAL))
return FSMONITOR_REASON_REMOTE;
@@ compat/fsmonitor/fsm-settings-darwin.c: enum fsmonitor_reason fsm_os__incompatib
+
return FSMONITOR_REASON_OK;
}
-
- ## fsmonitor-ipc.c ##
-@@
- #include "fsmonitor-ipc.h"
- #include "run-command.h"
- #include "strbuf.h"
-+#include "tempfile.h"
- #include "trace2.h"
-
- #ifndef HAVE_FSMONITOR_DAEMON_BACKEND
-@@ fsmonitor-ipc.c: int fsmonitor_ipc__is_supported(void)
- return 1;
- }
-
--GIT_PATH_FUNC(fsmonitor_ipc__get_path, "fsmonitor--daemon.ipc")
-+GIT_PATH_FUNC(fsmonitor_ipc__get_pathfile, "fsmonitor--daemon.ipc")
-+
-+static char *gen_ipc_file(void)
-+{
-+ char *retval = NULL;
-+ struct tempfile *ipc;
-+
-+ const char *ipc_file = fsmonitor_ipc__get_pathfile();
-+ FILE *fp = fopen(ipc_file, "w");
-+
-+ if (!fp)
-+ die_errno("error opening '%s'", ipc_file);
-+ ipc = mks_tempfile_t("fsmonitor_ipc_XXXXXX");
-+ strbuf_write(&ipc->filename, fp);
-+ fclose(fp);
-+ retval = strbuf_detach(&ipc->filename, NULL);
-+ strbuf_release(&ipc->filename);
-+ return retval;
-+}
-+
-+const char *fsmonitor_ipc__get_path(void)
-+{
-+ char *retval = NULL;
-+ struct strbuf sb = STRBUF_INIT;
-+
-+ const char *ipc_file = fsmonitor_ipc__get_pathfile();
-+ FILE *fp = fopen(ipc_file, "r");
-+
-+ if (!fp) {
-+ return gen_ipc_file();
-+ } else {
-+ strbuf_read(&sb, fileno(fp), 0);
-+ fclose(fp);
-+ fp = fopen(sb.buf, "r");
-+ if (!fp) { /* generate new file */
-+ if (unlink(ipc_file) < 0)
-+ die_errno("could not remove '%s'", ipc_file);
-+ return gen_ipc_file();
-+ }
-+ fclose(fp);
-+ retval = strbuf_detach(&sb, NULL);
-+ strbuf_release(&sb);
-+ return retval;
-+ }
-+}
-
- enum ipc_active_state fsmonitor_ipc__get_state(void)
- {
-
- ## fsmonitor-ipc.h ##
-@@ fsmonitor-ipc.h: int fsmonitor_ipc__is_supported(void);
- */
- const char *fsmonitor_ipc__get_path(void);
-
-+/*
-+ * Returns the pathname to the file that contains the pathname to the
-+ * IPC named pipe or Unix domain socket.
-+ */
-+const char *fsmonitor_ipc__get_pathfile(void);
-+
- /*
- * Try to determine whether there is a `git-fsmonitor--daemon` process
- * listening on the IPC pipe/socket.
-: ----------- > 4: 15c965801f8 Minor refactoring and simplification of Windows settings checks
--
gitgitgadget
next prev parent reply other threads:[~2022-08-23 16:33 UTC|newest]
Thread overview: 170+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-18 20:48 [PATCH] fsmonitor: option to allow fsmonitor to run against network-mounted repos Eric DeCosta via GitGitGadget
2022-08-18 21:35 ` Junio C Hamano
2022-08-18 21:38 ` Junio C Hamano
2022-08-19 10:05 ` Johannes Schindelin
2022-08-19 16:50 ` Jeff Hostetler
2022-08-19 18:38 ` Eric DeCosta
2022-08-19 20:15 ` Jeff Hostetler
2022-08-19 17:48 ` Eric Sunshine
2022-08-19 18:58 ` Torsten Bögershausen
2022-08-20 22:24 ` Junio C Hamano
2022-08-22 13:22 ` Johannes Schindelin
2022-08-22 16:07 ` Junio C Hamano
2022-08-23 13:51 ` Jeff Hostetler
2022-08-24 15:45 ` Eric DeCosta
2022-08-23 13:03 ` Eric DeCosta via GitGitGadget [this message]
2022-08-23 13:03 ` [PATCH v2 1/4] " Eric DeCosta via GitGitGadget
2022-08-23 13:03 ` [PATCH v2 2/4] fsmonitor: macOS: " Eric DeCosta via GitGitGadget
2022-08-23 13:03 ` [PATCH v2 3/4] Check working directory and Unix domain socket file for compatability edecosta via GitGitGadget
2022-08-23 13:03 ` [PATCH v2 4/4] Minor refactoring and simplification of Windows settings checks edecosta via GitGitGadget
2022-08-23 18:55 ` [PATCH v3 0/2] fsmonitor: option to allow fsmonitor to run against network-mounted repos Eric DeCosta via GitGitGadget
2022-08-23 18:55 ` [PATCH v3 1/2] fsmonitor: macOS: " Eric DeCosta via GitGitGadget
2022-08-23 18:55 ` [PATCH v3 2/2] Check working directory and Unix domain socket file for compatability edecosta via GitGitGadget
2022-08-24 20:31 ` Junio C Hamano
2022-08-24 16:46 ` [PATCH v3 0/2] fsmonitor: option to allow fsmonitor to run against network-mounted repos Junio C Hamano
2022-08-31 16:09 ` [PATCH v4 0/4] " Eric DeCosta via GitGitGadget
2022-08-31 16:09 ` [PATCH v4 1/4] fsmonitor: add two new config options, allowRemote and socketDir Eric DeCosta via GitGitGadget
2022-08-31 19:41 ` Ævar Arnfjörð Bjarmason
2022-08-31 20:04 ` Junio C Hamano
2022-09-01 2:25 ` Ramsay Jones
2022-09-01 17:53 ` Jeff Hostetler
2022-09-01 18:04 ` Jeff Hostetler
2022-09-01 21:21 ` Jeff Hostetler
2022-09-02 16:54 ` Eric DeCosta
2022-09-06 14:27 ` Jeff Hostetler
2022-08-31 16:09 ` [PATCH v4 2/4] fsmonitor: generate unique Unix socket file name in the desired location Eric DeCosta via GitGitGadget
2022-08-31 19:49 ` Ævar Arnfjörð Bjarmason
2022-08-31 20:11 ` Junio C Hamano
2022-08-31 16:09 ` [PATCH v4 3/4] fsmonitor: ensure filesystem and unix socket filesystem are compatible Eric DeCosta via GitGitGadget
2022-08-31 16:09 ` [PATCH v4 4/4] fsmonitor: normalize FSEvents event paths to the real path Eric DeCosta via GitGitGadget
2022-08-31 19:37 ` Ævar Arnfjörð Bjarmason
2022-09-01 20:05 ` Jeff Hostetler
2022-09-02 16:35 ` Eric DeCosta
2022-09-06 17:13 ` Jeff Hostetler
2022-09-06 19:02 ` Eric DeCosta
2022-09-06 19:33 ` Eric DeCosta
2022-09-06 22:11 ` Eric DeCosta
2022-09-07 19:14 ` Jeff Hostetler
2022-09-07 23:04 ` Eric DeCosta
2022-09-10 20:00 ` [PATCH v5 0/4] fsmonitor: option to allow fsmonitor to run against network-mounted repos Eric DeCosta via GitGitGadget
2022-09-10 20:00 ` [PATCH v5 1/4] fsmonitor: refactor filesystem checks to common interface Eric DeCosta via GitGitGadget
2022-09-10 20:00 ` [PATCH v5 2/4] fsmonitor: relocate socket file if .git directory is remote Eric DeCosta via GitGitGadget
2022-09-10 20:00 ` [PATCH v5 3/4] fsmonitor: avoid socket location check if using hook Eric DeCosta via GitGitGadget
2022-09-10 20:00 ` [PATCH v5 4/4] fsmonitor: deal with synthetic firmlinks on macOS Eric DeCosta via GitGitGadget
2022-09-11 1:01 ` Eric Sunshine
2022-09-12 15:27 ` [PATCH v5 0/4] fsmonitor: option to allow fsmonitor to run against network-mounted repos Junio C Hamano
2022-09-12 19:37 ` Junio C Hamano
2022-09-12 19:39 ` Eric DeCosta
2022-09-12 15:35 ` Junio C Hamano
2022-09-12 19:35 ` Eric DeCosta
2022-09-13 20:27 ` [PATCH v6 0/6] " Eric DeCosta via GitGitGadget
2022-09-13 20:27 ` [PATCH v6 1/6] " Eric DeCosta via GitGitGadget
2022-09-13 20:27 ` [PATCH v6 2/6] fsmonitor: refactor filesystem checks to common interface Eric DeCosta via GitGitGadget
2022-09-13 20:27 ` [PATCH v6 3/6] fsmonitor: relocate socket file if .git directory is remote Eric DeCosta via GitGitGadget
2022-09-14 0:48 ` Junio C Hamano
2022-09-14 15:47 ` Eric DeCosta
2022-09-13 20:27 ` [PATCH v6 4/6] fsmonitor: avoid socket location check if using hook Eric DeCosta via GitGitGadget
2022-09-14 1:48 ` Junio C Hamano
2022-09-13 20:27 ` [PATCH v6 5/6] fsmonitor: deal with synthetic firmlinks on macOS Eric DeCosta via GitGitGadget
2022-09-13 20:27 ` [PATCH v6 6/6] fsmonitor: add documentation for allowRemote and socketDir options Eric DeCosta via GitGitGadget
2022-09-16 17:58 ` [PATCH v6 0/6] fsmonitor: option to allow fsmonitor to run against network-mounted repos Jeff Hostetler
2022-09-16 20:02 ` Eric DeCosta
2022-09-16 19:53 ` [PATCH v7 " Eric DeCosta via GitGitGadget
2022-09-16 19:53 ` [PATCH v7 1/6] fsmonitor: refactor filesystem checks to common interface Eric DeCosta via GitGitGadget
2022-09-16 19:53 ` [PATCH v7 2/6] fsmonitor: relocate socket file if .git directory is remote Eric DeCosta via GitGitGadget
2022-09-16 20:11 ` Junio C Hamano
2022-09-19 12:31 ` Jeff Hostetler
2022-09-19 16:42 ` Junio C Hamano
2022-09-19 17:08 ` Jeff Hostetler
2022-09-19 17:49 ` Junio C Hamano
2022-09-19 23:51 ` Eric DeCosta
2022-09-20 14:35 ` Jeff Hostetler
2022-09-20 15:49 ` Eric DeCosta
2022-09-16 19:53 ` [PATCH v7 3/6] fsmonitor: avoid socket location check if using hook Eric DeCosta via GitGitGadget
2022-09-16 19:53 ` [PATCH v7 4/6] fsmonitor: deal with synthetic firmlinks on macOS Eric DeCosta via GitGitGadget
2022-09-16 19:53 ` [PATCH v7 5/6] " Eric DeCosta via GitGitGadget
2022-09-16 20:15 ` Junio C Hamano
2022-09-16 19:53 ` [PATCH v7 6/6] fsmonitor: add documentation for allowRemote and socketDir options Eric DeCosta via GitGitGadget
2022-09-16 20:09 ` [PATCH v7 0/6] fsmonitor: option to allow fsmonitor to run against network-mounted repos Junio C Hamano
2022-09-17 1:12 ` [PATCH v8 0/5] " Eric DeCosta via GitGitGadget
2022-09-17 1:12 ` [PATCH v8 1/5] fsmonitor: refactor filesystem checks to common interface Eric DeCosta via GitGitGadget
2022-09-17 1:12 ` [PATCH v8 2/5] fsmonitor: relocate socket file if .git directory is remote Eric DeCosta via GitGitGadget
2022-09-17 4:13 ` Eric Sunshine
2022-09-19 16:50 ` Junio C Hamano
2022-09-17 6:29 ` Eric Sunshine
2022-09-17 16:29 ` Eric DeCosta
2022-09-19 16:58 ` Junio C Hamano
2022-09-17 1:12 ` [PATCH v8 3/5] fsmonitor: avoid socket location check if using hook Eric DeCosta via GitGitGadget
2022-09-17 1:12 ` [PATCH v8 4/5] fsmonitor: deal with synthetic firmlinks on macOS Eric DeCosta via GitGitGadget
2022-09-17 1:12 ` [PATCH v8 5/5] fsmonitor: add documentation for allowRemote and socketDir options Eric DeCosta via GitGitGadget
2022-09-17 6:08 ` Eric Sunshine
2022-09-19 23:55 ` Eric DeCosta
2022-09-19 19:37 ` [PATCH v9 0/6] fsmonitor: option to allow fsmonitor to run against network-mounted repos Eric DeCosta via GitGitGadget
2022-09-19 19:37 ` [PATCH v9 1/6] fsmonitor: refactor filesystem checks to common interface Eric DeCosta via GitGitGadget
2022-09-19 19:37 ` [PATCH v9 2/6] fsmonitor: relocate socket file if .git directory is remote Eric DeCosta via GitGitGadget
2022-09-19 19:57 ` Eric Sunshine
2022-09-19 19:37 ` [PATCH v9 3/6] fsmonitor: avoid socket location check if using hook Eric DeCosta via GitGitGadget
2022-09-19 19:37 ` [PATCH v9 4/6] fsmonitor: deal with synthetic firmlinks on macOS Eric DeCosta via GitGitGadget
2022-09-19 19:37 ` [PATCH v9 5/6] fsmonitor: check for compatability before communicating with fsmonitor Eric DeCosta via GitGitGadget
2022-09-19 19:37 ` [PATCH v9 6/6] fsmonitor: add documentation for allowRemote and socketDir options Eric DeCosta via GitGitGadget
2022-09-20 20:33 ` [PATCH v10 0/6] fsmonitor: option to allow fsmonitor to run against network-mounted repos Eric DeCosta via GitGitGadget
2022-09-20 20:33 ` [PATCH v10 1/6] fsmonitor: refactor filesystem checks to common interface Eric DeCosta via GitGitGadget
2022-09-20 20:33 ` [PATCH v10 2/6] fsmonitor: relocate socket file if .git directory is remote Eric DeCosta via GitGitGadget
2022-09-20 20:33 ` [PATCH v10 3/6] fsmonitor: avoid socket location check if using hook Eric DeCosta via GitGitGadget
2022-09-20 20:33 ` [PATCH v10 4/6] fsmonitor: deal with synthetic firmlinks on macOS Eric DeCosta via GitGitGadget
2022-09-20 20:33 ` [PATCH v10 5/6] fsmonitor: check for compatability before communicating with fsmonitor Eric DeCosta via GitGitGadget
2022-09-21 11:22 ` Jeff Hostetler
2022-09-21 13:03 ` Eric DeCosta
2022-09-20 20:33 ` [PATCH v10 6/6] fsmonitor: add documentation for allowRemote and socketDir options Eric DeCosta via GitGitGadget
2022-09-21 22:18 ` [PATCH v11 0/6] fsmonitor: option to allow fsmonitor to run against network-mounted repos Eric DeCosta via GitGitGadget
2022-09-21 22:18 ` [PATCH v11 1/6] fsmonitor: refactor filesystem checks to common interface Eric DeCosta via GitGitGadget
2022-09-21 22:18 ` [PATCH v11 2/6] fsmonitor: relocate socket file if .git directory is remote Eric DeCosta via GitGitGadget
2022-09-21 22:18 ` [PATCH v11 3/6] fsmonitor: avoid socket location check if using hook Eric DeCosta via GitGitGadget
2022-09-21 22:18 ` [PATCH v11 4/6] fsmonitor: deal with synthetic firmlinks on macOS Eric DeCosta via GitGitGadget
2022-09-21 22:18 ` [PATCH v11 5/6] fsmonitor: check for compatability before communicating with fsmonitor Eric DeCosta via GitGitGadget
2022-09-21 22:18 ` [PATCH v11 6/6] fsmonitor: add documentation for allowRemote and socketDir options Eric DeCosta via GitGitGadget
2022-09-24 19:46 ` [PATCH v12 0/6] fsmonitor: option to allow fsmonitor to run against network-mounted repos Eric DeCosta via GitGitGadget
2022-09-24 19:46 ` [PATCH v12 1/6] fsmonitor: refactor filesystem checks to common interface Eric DeCosta via GitGitGadget
2022-09-24 19:46 ` [PATCH v12 2/6] fsmonitor: relocate socket file if .git directory is remote Eric DeCosta via GitGitGadget
2022-09-24 19:46 ` [PATCH v12 3/6] fsmonitor: avoid socket location check if using hook Eric DeCosta via GitGitGadget
2022-09-24 19:46 ` [PATCH v12 4/6] fsmonitor: deal with synthetic firmlinks on macOS Eric DeCosta via GitGitGadget
2022-09-26 15:16 ` Ævar Arnfjörð Bjarmason
2022-09-27 1:53 ` Eric DeCosta
2022-09-26 15:27 ` Ævar Arnfjörð Bjarmason
2022-09-24 19:46 ` [PATCH v12 5/6] fsmonitor: check for compatability before communicating with fsmonitor Eric DeCosta via GitGitGadget
2022-09-25 14:00 ` Eric DeCosta
2022-09-26 15:23 ` Ævar Arnfjörð Bjarmason
2022-09-27 1:25 ` Eric DeCosta
2022-09-24 19:46 ` [PATCH v12 6/6] fsmonitor: add documentation for allowRemote and socketDir options Eric DeCosta via GitGitGadget
2022-09-26 15:11 ` Ævar Arnfjörð Bjarmason
2022-09-27 2:16 ` Eric Sunshine
2022-09-27 4:03 ` Eric DeCosta
2022-09-25 14:18 ` [PATCH v12 0/6] fsmonitor: option to allow fsmonitor to run against network-mounted repos Eric DeCosta
2022-09-27 20:57 ` [PATCH v13 " Eric DeCosta via GitGitGadget
2022-09-27 20:57 ` [PATCH v13 1/6] fsmonitor: refactor filesystem checks to common interface Eric DeCosta via GitGitGadget
2022-09-27 20:57 ` [PATCH v13 2/6] fsmonitor: relocate socket file if .git directory is remote Eric DeCosta via GitGitGadget
2022-09-27 20:57 ` [PATCH v13 3/6] fsmonitor: avoid socket location check if using hook Eric DeCosta via GitGitGadget
2022-09-27 20:57 ` [PATCH v13 4/6] fsmonitor: deal with synthetic firmlinks on macOS Eric DeCosta via GitGitGadget
2022-09-28 5:55 ` Ævar Arnfjörð Bjarmason
2022-09-27 20:57 ` [PATCH v13 5/6] fsmonitor: check for compatability before communicating with fsmonitor Eric DeCosta via GitGitGadget
2022-09-27 20:57 ` [PATCH v13 6/6] fsmonitor: add documentation for allowRemote and socketDir options Eric DeCosta via GitGitGadget
2022-09-28 20:12 ` [PATCH v14 0/6] fsmonitor: option to allow fsmonitor to run against network-mounted repos Eric DeCosta via GitGitGadget
2022-09-28 20:12 ` [PATCH v14 1/6] fsmonitor: refactor filesystem checks to common interface Eric DeCosta via GitGitGadget
2022-09-28 20:12 ` [PATCH v14 2/6] fsmonitor: relocate socket file if .git directory is remote Eric DeCosta via GitGitGadget
2022-09-28 20:12 ` [PATCH v14 3/6] fsmonitor: avoid socket location check if using hook Eric DeCosta via GitGitGadget
2022-09-28 20:12 ` [PATCH v14 4/6] fsmonitor: deal with synthetic firmlinks on macOS Eric DeCosta via GitGitGadget
2022-09-28 20:12 ` [PATCH v14 5/6] fsmonitor: check for compatability before communicating with fsmonitor Eric DeCosta via GitGitGadget
2022-09-28 20:12 ` [PATCH v14 6/6] fsmonitor: add documentation for allowRemote and socketDir options Eric DeCosta via GitGitGadget
2022-10-04 17:32 ` [PATCH v15 0/6] fsmonitor: option to allow fsmonitor to run against network-mounted repos Eric DeCosta via GitGitGadget
2022-10-04 17:32 ` [PATCH v15 1/6] fsmonitor: refactor filesystem checks to common interface Eric DeCosta via GitGitGadget
2023-01-30 9:37 ` Ævar Arnfjörð Bjarmason
2022-10-04 17:32 ` [PATCH v15 2/6] fsmonitor: relocate socket file if .git directory is remote Eric DeCosta via GitGitGadget
2023-01-30 9:58 ` Ævar Arnfjörð Bjarmason
2022-10-04 17:32 ` [PATCH v15 3/6] fsmonitor: avoid socket location check if using hook Eric DeCosta via GitGitGadget
2022-10-04 17:32 ` [PATCH v15 4/6] fsmonitor: deal with synthetic firmlinks on macOS Eric DeCosta via GitGitGadget
2023-01-30 10:08 ` Ævar Arnfjörð Bjarmason
2022-10-04 17:32 ` [PATCH v15 5/6] fsmonitor: check for compatability before communicating with fsmonitor Eric DeCosta via GitGitGadget
2022-10-04 17:32 ` [PATCH v15 6/6] fsmonitor: add documentation for allowRemote and socketDir options Eric DeCosta via GitGitGadget
2023-01-30 10:04 ` Ævar Arnfjörð Bjarmason
2022-10-05 18:05 ` [PATCH v15 0/6] fsmonitor: option to allow fsmonitor to run against network-mounted repos Junio C Hamano
2022-10-05 21:14 ` Eric DeCosta
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.1326.v2.git.1661259820.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=edecosta@mathworks.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).