From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Eric DeCosta via GitGitGadget <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org, "Jeff Hostetler" <git@jeffhostetler.com>,
"Eric Sunshine" <sunshine@sunshineco.com>,
"Torsten Bögershausen" <tboegi@web.de>,
"Ramsay Jones" <ramsay@ramsayjones.plus.com>,
"Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
"Eric DeCosta" <edecosta@mathworks.com>
Subject: Re: [PATCH v15 1/6] fsmonitor: refactor filesystem checks to common interface
Date: Mon, 30 Jan 2023 10:37:58 +0100 [thread overview]
Message-ID: <230130.86sffss5s5.gmgdl@evledraar.gmail.com> (raw)
In-Reply-To: <ec49a74086dee4545a3bb7b24c8da22e77aef579.1664904751.git.gitgitgadget@gmail.com>
On Tue, Oct 04 2022, Eric DeCosta via GitGitGadget wrote:
> From: Eric DeCosta <edecosta@mathworks.com>
>
> Provide a common interface for getting basic filesystem information
> including filesystem type and whether the filesystem is remote.
>
> Refactor existing code for getting basic filesystem info and detecting
> remote file systems to the new interface.
>
> Refactor filesystem checks to leverage new interface. For macOS,
> error-out if the Unix Domain socket (UDS) file is on a remote
> filesystem.
>
> Signed-off-by: Eric DeCosta <edecosta@mathworks.com>
> ---
> Makefile | 1 +
> compat/fsmonitor/fsm-path-utils-darwin.c | 43 ++++++
> compat/fsmonitor/fsm-path-utils-win32.c | 128 +++++++++++++++++
> compat/fsmonitor/fsm-settings-darwin.c | 69 +++------
> compat/fsmonitor/fsm-settings-win32.c | 172 +----------------------
> contrib/buildsystems/CMakeLists.txt | 2 +
> fsmonitor-path-utils.h | 26 ++++
> fsmonitor-settings.c | 50 +++++++
> 8 files changed, 272 insertions(+), 219 deletions(-)
> create mode 100644 compat/fsmonitor/fsm-path-utils-darwin.c
> create mode 100644 compat/fsmonitor/fsm-path-utils-win32.c
> create mode 100644 fsmonitor-path-utils.h
>
> diff --git a/Makefile b/Makefile
> index cac3452edb9..ffab427ea5b 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2044,6 +2044,7 @@ endif
> ifdef FSMONITOR_OS_SETTINGS
> COMPAT_CFLAGS += -DHAVE_FSMONITOR_OS_SETTINGS
> COMPAT_OBJS += compat/fsmonitor/fsm-settings-$(FSMONITOR_OS_SETTINGS).o
> + COMPAT_OBJS += compat/fsmonitor/fsm-path-utils-$(FSMONITOR_OS_SETTINGS).o
> endif
>
> ifeq ($(TCLTK_PATH),)
> diff --git a/compat/fsmonitor/fsm-path-utils-darwin.c b/compat/fsmonitor/fsm-path-utils-darwin.c
> new file mode 100644
> index 00000000000..d46d7f13538
> --- /dev/null
> +++ b/compat/fsmonitor/fsm-path-utils-darwin.c
> @@ -0,0 +1,43 @@
> +#include "fsmonitor.h"
> +#include "fsmonitor-path-utils.h"
> +#include <sys/param.h>
> +#include <sys/mount.h>
> +
> +int fsmonitor__get_fs_info(const char *path, struct fs_info *fs_info)
> +{
> + struct statfs fs;
Should have a \n here after variable decls.
> + if (statfs(path, &fs) == -1) {
> + int saved_errno = errno;
> + trace_printf_key(&trace_fsmonitor, "statfs('%s') failed: %s",
> + path, strerror(saved_errno));
> + errno = saved_errno;
> + return -1;
> + }
> +
> + trace_printf_key(&trace_fsmonitor,
> + "statfs('%s') [type 0x%08x][flags 0x%08x] '%s'",
> + path, fs.f_type, fs.f_flags, fs.f_fstypename);
> +
> + if (!(fs.f_flags & MNT_LOCAL))
> + fs_info->is_remote = 1;
> + else
> + fs_info->is_remote = 0;
Instead:
fs_info->is_remote = !(fs.f_flags & MNT_LOCAL)
?
> +int fsmonitor__is_fs_remote(const char *path)
> +{
> + struct fs_info fs;
Same style issue as above.
> + if (fsmonitor__get_fs_info(path, &fs))
> + return -1;
> +
> + free(fs.typename);
Can we get a "free_fs_info()" function or something instead, this is one
of N codepaths where we now peek into that struct. If we ever add
another field that needs malloc'ing altering all callers will be
painful.
> + if (xutftowcs_path(wpath, path) < 0) {
> + return -1;
> + }
Maybe drop the braces here as this code is being modified-while-moved
anyway?
> +
> + /*
> + * GetDriveTypeW() requires a final slash. We assume that the
> + * worktree pathname points to an actual directory.
> + */
> + wlen = wcslen(wpath);
> + if (wpath[wlen - 1] != L'\\' && wpath[wlen - 1] != L'/') {
> + wpath[wlen++] = L'\\';
> + wpath[wlen] = 0;
> + }
> +
> + /*
> + * Normalize the path. If nothing else, this converts forward
> + * slashes to backslashes. This is essential to get GetDriveTypeW()
> + * correctly handle some UNC "\\server\share\..." paths.
> + */
> + if (!GetFullPathNameW(wpath, MAX_PATH, wfullpath, NULL)) {
> + return -1;
> + }
Here you have added needless braces while moving this, let's not do
that.
> +
> + driveType = GetDriveTypeW(wfullpath);
> + trace_printf_key(&trace_fsmonitor,
> + "DriveType '%s' L'%ls' (%u)",
> + path, wfullpath, driveType);
> +
> + if (driveType == DRIVE_REMOTE) {
> + fs_info->is_remote = 1;
> + if (check_remote_protocol(wfullpath) < 0)
> + return -1;
Maybe this code should be more careful not to modify the passed-in
struct if we're returning an error?
I.e. do this "return -1" before assigning "is_remote = 1"?
> + } else {
> + fs_info->is_remote = 0;
> + }
Maybe just at the start: "struct fs_info = { 0 }" and skip this "else" ?
> +
> + trace_printf_key(&trace_fsmonitor,
> + "'%s' is_remote: %d",
> + path, fs_info->is_remote);
> +
> + return 0;
> +}
> +
> +int fsmonitor__is_fs_remote(const char *path)
> +{
> + struct fs_info fs;
> + if (fsmonitor__get_fs_info(path, &fs))
> + return -1;
> + return fs.is_remote;
I find this and the resulting "switch/case" caller rather un-idiomatic,
i.e. you end up checking 1/0/default.
Why not in your check_remote() instead:
int is_remote;
if (fsmonitor__check_fs_remote(r->worktree, &is_remote))
return FSMONITOR_REASON_ERROR;
else if (!is_remote)
return FSMONITOR_REASON_OK;
...
Where the "..." is the "repo_config_get_bool()" etc. code I suggest
below.
I.e. having an "is" function return non-boolean is somewhat confusing,
better to write to a variable (which the config API you're using does).
> +#ifdef HAVE_FSMONITOR_OS_SETTINGS
> +static enum fsmonitor_reason check_remote(struct repository *r)
> +{
> + int allow_remote = -1; /* -1 unset, 0 not allowed, 1 allowed */
Let's not init this to -1, and instead...
> + int is_remote = fsmonitor__is_fs_remote(r->worktree);
> +
> + switch (is_remote) {
> + case 0:
The usual coding style is to not indent the "case" further than the
"switch".
> + return FSMONITOR_REASON_OK;
> + case 1:
> + repo_config_get_bool(r, "fsmonitor.allowremote", &allow_remote);
> + if (allow_remote < 1)
...continued from above: We can scope this variable to this case
statement, as "case 1: { int v; ... }", but furthermore you don't need
to init it to -1 and check this -1 case if you just check the return
value of repo_config_get_bool(), which IMO is also more obvious:
int v;
if (!repo...(..., &v))
return v ? FSMONITOR_REASON_OK : FSMONITOR_REASON_REMOTE:
else
return FSMONITOR_REASON_REMOTE;
I.e. you clearly separate the cases where it's un-init'd by checking the
return value.
Maybe better (but would result in more churn later if you ever want to
change the default):
int v;
return !repo...(..., &v) && v ? FSMONITOR_REASON_OK :
FSMONITOR_REASON_REMOTE:
next prev parent reply other threads:[~2023-01-30 9:59 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 ` [PATCH v2 0/4] " Eric DeCosta via GitGitGadget
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 [this message]
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=230130.86sffss5s5.gmgdl@evledraar.gmail.com \
--to=avarab@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=edecosta@mathworks.com \
--cc=git@jeffhostetler.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=ramsay@ramsayjones.plus.com \
--cc=sunshine@sunshineco.com \
--cc=tboegi@web.de \
/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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.