From: "Jeff Hostetler via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: "Bagas Sanjaya" <bagasdotme@gmail.com>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
"Jeff Hostetler" <git@jeffhostetler.com>,
"Eric Sunshine" <sunshine@sunshineco.com>,
"Jeff Hostetler" <jeffhost@microsoft.com>,
"Jeff Hostetler" <jeffhost@microsoft.com>
Subject: [PATCH v5 03/30] fsmonitor: config settings are repository-specific
Date: Fri, 11 Feb 2022 20:55:52 +0000 [thread overview]
Message-ID: <384516ce1a190d836324b2c2262d611090207357.1644612979.git.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1041.v5.git.1644612979.gitgitgadget@gmail.com>
From: Jeff Hostetler <jeffhost@microsoft.com>
Move fsmonitor config settings to a new and opaque
`struct fsmonitor_settings` structure. Add a lazily-loaded pointer
to this into `struct repo_settings`
Create an `enum fsmonitor_mode` type in `struct fsmonitor_settings` to
represent the state of fsmonitor. This lets us represent which, if
any, fsmonitor provider (hook or IPC) is enabled.
Create `fsm_settings__get_*()` getters to lazily look up fsmonitor-
related config settings.
Get rid of the `core_fsmonitor` global variable. Move the code to
lookup the existing `core.fsmonitor` config value into the fsmonitor
settings.
Create a hook pathname variable in `struct fsmonitor-settings` and
only set it when in hook mode.
Extend the definition of `core.fsmonitor` to be either a boolean
or a hook pathname. When true, the builtin FSMonitor is used.
When false or unset, no FSMonitor (neither builtin nor hook) is
used.
The existing `core_fsmonitor` global variable was used to store the
pathname to the fsmonitor hook *and* it was used as a boolean to see
if fsmonitor was enabled. This dual usage and global visibility leads
to confusion when we add the IPC-based provider. So lets hide the
details in fsmonitor-settings.c and let it decide which provider to
use in the case of multiple settings. This avoids cluttering up
repo-settings.c with these private details.
A future commit in builtin-fsmonitor series will add the ability to
disqualify worktrees for various reasons, such as being mounted from a
remote volume, where fsmonitor should not be started. Having the
config settings hidden in fsmonitor-settings.c allows such worktree
restrictions to override the config values used.
Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com>
---
Makefile | 1 +
builtin/update-index.c | 7 ++-
cache.h | 1 -
config.c | 14 ------
config.h | 1 -
environment.c | 1 -
fsmonitor-settings.c | 100 +++++++++++++++++++++++++++++++++++++++++
fsmonitor-settings.h | 21 +++++++++
fsmonitor.c | 63 +++++++++++++++-----------
fsmonitor.h | 18 ++++++--
repository.h | 3 ++
t/README | 4 +-
12 files changed, 185 insertions(+), 49 deletions(-)
create mode 100644 fsmonitor-settings.c
create mode 100644 fsmonitor-settings.h
diff --git a/Makefile b/Makefile
index dee3ba4a0b1..9943f0f7c11 100644
--- a/Makefile
+++ b/Makefile
@@ -900,6 +900,7 @@ LIB_OBJS += fmt-merge-msg.o
LIB_OBJS += fsck.o
LIB_OBJS += fsmonitor.o
LIB_OBJS += fsmonitor-ipc.o
+LIB_OBJS += fsmonitor-settings.o
LIB_OBJS += gettext.o
LIB_OBJS += gpg-interface.o
LIB_OBJS += graph.o
diff --git a/builtin/update-index.c b/builtin/update-index.c
index 7e0a0d9bf80..fed24ea1fb6 100644
--- a/builtin/update-index.c
+++ b/builtin/update-index.c
@@ -1225,14 +1225,17 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)
}
if (fsmonitor > 0) {
- if (git_config_get_fsmonitor() == 0)
+ enum fsmonitor_mode fsm_mode = fsm_settings__get_mode(r);
+ if (fsm_mode == FSMONITOR_MODE_DISABLED) {
warning(_("core.fsmonitor is unset; "
"set it if you really want to "
"enable fsmonitor"));
+ }
add_fsmonitor(&the_index);
report(_("fsmonitor enabled"));
} else if (!fsmonitor) {
- if (git_config_get_fsmonitor() == 1)
+ enum fsmonitor_mode fsm_mode = fsm_settings__get_mode(r);
+ if (fsm_mode > FSMONITOR_MODE_DISABLED)
warning(_("core.fsmonitor is set; "
"remove it if you really want to "
"disable fsmonitor"));
diff --git a/cache.h b/cache.h
index 4148b6322d5..c67c426a9dd 100644
--- a/cache.h
+++ b/cache.h
@@ -1000,7 +1000,6 @@ extern int core_preload_index;
extern int precomposed_unicode;
extern int protect_hfs;
extern int protect_ntfs;
-extern const char *core_fsmonitor;
extern int core_apply_sparse_checkout;
extern int core_sparse_checkout_cone;
diff --git a/config.c b/config.c
index e0c03d154c9..0494d8256d0 100644
--- a/config.c
+++ b/config.c
@@ -2624,20 +2624,6 @@ int git_config_get_max_percent_split_change(void)
return -1; /* default value */
}
-int git_config_get_fsmonitor(void)
-{
- if (git_config_get_pathname("core.fsmonitor", &core_fsmonitor))
- core_fsmonitor = getenv("GIT_TEST_FSMONITOR");
-
- if (core_fsmonitor && !*core_fsmonitor)
- core_fsmonitor = NULL;
-
- if (core_fsmonitor)
- return 1;
-
- return 0;
-}
-
int git_config_get_index_threads(int *dest)
{
int is_bool, val;
diff --git a/config.h b/config.h
index ab0106d2875..03294d340d1 100644
--- a/config.h
+++ b/config.h
@@ -590,7 +590,6 @@ int git_config_get_pathname(const char *key, const char **dest);
int git_config_get_index_threads(int *dest);
int git_config_get_split_index(void);
int git_config_get_max_percent_split_change(void);
-int git_config_get_fsmonitor(void);
/* This dies if the configured or default date is in the future */
int git_config_get_expiry(const char *key, const char **output);
diff --git a/environment.c b/environment.c
index fd0501e77a5..00682e638d7 100644
--- a/environment.c
+++ b/environment.c
@@ -84,7 +84,6 @@ int protect_hfs = PROTECT_HFS_DEFAULT;
#define PROTECT_NTFS_DEFAULT 1
#endif
int protect_ntfs = PROTECT_NTFS_DEFAULT;
-const char *core_fsmonitor;
/*
* The character that begins a commented line in user-editable file
diff --git a/fsmonitor-settings.c b/fsmonitor-settings.c
new file mode 100644
index 00000000000..eb4d661c81e
--- /dev/null
+++ b/fsmonitor-settings.c
@@ -0,0 +1,100 @@
+#include "cache.h"
+#include "config.h"
+#include "repository.h"
+#include "fsmonitor-settings.h"
+
+/*
+ * We keep this structure defintion private and have getters
+ * for all fields so that we can lazy load it as needed.
+ */
+struct fsmonitor_settings {
+ enum fsmonitor_mode mode;
+ char *hook_path;
+};
+
+static void lookup_fsmonitor_settings(struct repository *r)
+{
+ struct fsmonitor_settings *s;
+ const char *const_str;
+ int bool_value;
+
+ if (r->settings.fsmonitor)
+ return;
+
+ CALLOC_ARRAY(s, 1);
+
+ r->settings.fsmonitor = s;
+
+ fsm_settings__set_disabled(r);
+
+ /*
+ * Overload the existing "core.fsmonitor" config setting (which
+ * has historically been either unset or a hook pathname) to
+ * now allow a boolean value to enable the builtin FSMonitor
+ * or to turn everything off. (This does imply that you can't
+ * use a hook script named "true" or "false", but that's OK.)
+ */
+ switch (repo_config_get_maybe_bool(r, "core.fsmonitor", &bool_value)) {
+
+ case 0: /* config value was set to <bool> */
+ if (bool_value)
+ fsm_settings__set_ipc(r);
+ return;
+
+ case 1: /* config value was unset */
+ const_str = getenv("GIT_TEST_FSMONITOR");
+ break;
+
+ case -1: /* config value set to an arbitrary string */
+ if (repo_config_get_pathname(r, "core.fsmonitor", &const_str))
+ return; /* should not happen */
+ break;
+
+ default: /* should not happen */
+ return;
+ }
+
+ if (!const_str || !*const_str)
+ return;
+
+ fsm_settings__set_hook(r, const_str);
+}
+
+enum fsmonitor_mode fsm_settings__get_mode(struct repository *r)
+{
+ lookup_fsmonitor_settings(r);
+
+ return r->settings.fsmonitor->mode;
+}
+
+const char *fsm_settings__get_hook_path(struct repository *r)
+{
+ lookup_fsmonitor_settings(r);
+
+ return r->settings.fsmonitor->hook_path;
+}
+
+void fsm_settings__set_ipc(struct repository *r)
+{
+ lookup_fsmonitor_settings(r);
+
+ r->settings.fsmonitor->mode = FSMONITOR_MODE_IPC;
+ FREE_AND_NULL(r->settings.fsmonitor->hook_path);
+}
+
+void fsm_settings__set_hook(struct repository *r, const char *path)
+{
+ lookup_fsmonitor_settings(r);
+
+ r->settings.fsmonitor->mode = FSMONITOR_MODE_HOOK;
+ FREE_AND_NULL(r->settings.fsmonitor->hook_path);
+ r->settings.fsmonitor->hook_path = strdup(path);
+}
+
+void fsm_settings__set_disabled(struct repository *r)
+{
+ lookup_fsmonitor_settings(r);
+
+ r->settings.fsmonitor->mode = FSMONITOR_MODE_DISABLED;
+ FREE_AND_NULL(r->settings.fsmonitor->hook_path);
+}
diff --git a/fsmonitor-settings.h b/fsmonitor-settings.h
new file mode 100644
index 00000000000..a4c5d7b4889
--- /dev/null
+++ b/fsmonitor-settings.h
@@ -0,0 +1,21 @@
+#ifndef FSMONITOR_SETTINGS_H
+#define FSMONITOR_SETTINGS_H
+
+struct repository;
+
+enum fsmonitor_mode {
+ FSMONITOR_MODE_DISABLED = 0,
+ FSMONITOR_MODE_HOOK = 1, /* core.fsmonitor=<hook_path> */
+ FSMONITOR_MODE_IPC = 2, /* core.fsmonitor=<true> */
+};
+
+void fsm_settings__set_ipc(struct repository *r);
+void fsm_settings__set_hook(struct repository *r, const char *path);
+void fsm_settings__set_disabled(struct repository *r);
+
+enum fsmonitor_mode fsm_settings__get_mode(struct repository *r);
+const char *fsm_settings__get_hook_path(struct repository *r);
+
+struct fsmonitor_settings;
+
+#endif /* FSMONITOR_SETTINGS_H */
diff --git a/fsmonitor.c b/fsmonitor.c
index 448d0ee33f5..17cba68235a 100644
--- a/fsmonitor.c
+++ b/fsmonitor.c
@@ -3,6 +3,7 @@
#include "dir.h"
#include "ewah/ewok.h"
#include "fsmonitor.h"
+#include "fsmonitor-ipc.h"
#include "run-command.h"
#include "strbuf.h"
@@ -148,15 +149,18 @@ void write_fsmonitor_extension(struct strbuf *sb, struct index_state *istate)
/*
* Call the query-fsmonitor hook passing the last update token of the saved results.
*/
-static int query_fsmonitor(int version, const char *last_update, struct strbuf *query_result)
+static int query_fsmonitor_hook(struct repository *r,
+ int version,
+ const char *last_update,
+ struct strbuf *query_result)
{
struct child_process cp = CHILD_PROCESS_INIT;
int result;
- if (!core_fsmonitor)
+ if (fsm_settings__get_mode(r) != FSMONITOR_MODE_HOOK)
return -1;
- strvec_push(&cp.args, core_fsmonitor);
+ strvec_push(&cp.args, fsm_settings__get_hook_path(r));
strvec_pushf(&cp.args, "%d", version);
strvec_pushf(&cp.args, "%s", last_update);
cp.use_shell = 1;
@@ -225,17 +229,28 @@ void refresh_fsmonitor(struct index_state *istate)
char *buf;
unsigned int i;
int is_trivial = 0;
+ struct repository *r = istate->repo ? istate->repo : the_repository;
+ enum fsmonitor_mode fsm_mode = fsm_settings__get_mode(r);
- if (!core_fsmonitor || istate->fsmonitor_has_run_once)
+ if (fsm_mode <= FSMONITOR_MODE_DISABLED ||
+ istate->fsmonitor_has_run_once)
return;
- hook_version = fsmonitor_hook_version();
-
istate->fsmonitor_has_run_once = 1;
trace_printf_key(&trace_fsmonitor, "refresh fsmonitor");
+
+ if (fsm_mode == FSMONITOR_MODE_IPC) {
+ /* TODO */
+ return;
+ }
+
+ assert(fsm_mode == FSMONITOR_MODE_HOOK);
+
+ hook_version = fsmonitor_hook_version();
+
/*
- * This could be racy so save the date/time now and query_fsmonitor
+ * This could be racy so save the date/time now and query_fsmonitor_hook
* should be inclusive to ensure we don't miss potential changes.
*/
last_update = getnanotime();
@@ -243,13 +258,14 @@ void refresh_fsmonitor(struct index_state *istate)
strbuf_addf(&last_update_token, "%"PRIu64"", last_update);
/*
- * If we have a last update token, call query_fsmonitor for the set of
+ * If we have a last update token, call query_fsmonitor_hook for the set of
* changes since that token, else assume everything is possibly dirty
* and check it all.
*/
if (istate->fsmonitor_last_update) {
if (hook_version == -1 || hook_version == HOOK_INTERFACE_VERSION2) {
- query_success = !query_fsmonitor(HOOK_INTERFACE_VERSION2,
+ query_success = !query_fsmonitor_hook(
+ r, HOOK_INTERFACE_VERSION2,
istate->fsmonitor_last_update, &query_result);
if (query_success) {
@@ -280,7 +296,8 @@ void refresh_fsmonitor(struct index_state *istate)
}
if (hook_version == HOOK_INTERFACE_VERSION1) {
- query_success = !query_fsmonitor(HOOK_INTERFACE_VERSION1,
+ query_success = !query_fsmonitor_hook(
+ r, HOOK_INTERFACE_VERSION1,
istate->fsmonitor_last_update, &query_result);
if (query_success)
is_trivial = query_result.buf[0] == '/';
@@ -290,9 +307,12 @@ void refresh_fsmonitor(struct index_state *istate)
trace2_data_intmax("fsm_hook", NULL,
"query/trivial-response", 1);
- trace_performance_since(last_update, "fsmonitor process '%s'", core_fsmonitor);
- trace_printf_key(&trace_fsmonitor, "fsmonitor process '%s' returned %s",
- core_fsmonitor, query_success ? "success" : "failure");
+ trace_performance_since(last_update, "fsmonitor process '%s'",
+ fsm_settings__get_hook_path(r));
+ trace_printf_key(&trace_fsmonitor,
+ "fsmonitor process '%s' returned %s",
+ fsm_settings__get_hook_path(r),
+ query_success ? "success" : "failure");
}
/*
@@ -429,7 +449,8 @@ void remove_fsmonitor(struct index_state *istate)
void tweak_fsmonitor(struct index_state *istate)
{
unsigned int i;
- int fsmonitor_enabled = git_config_get_fsmonitor();
+ struct repository *r = istate->repo ? istate->repo : the_repository;
+ int fsmonitor_enabled = (fsm_settings__get_mode(r) > FSMONITOR_MODE_DISABLED);
if (istate->fsmonitor_dirty) {
if (fsmonitor_enabled) {
@@ -449,16 +470,8 @@ void tweak_fsmonitor(struct index_state *istate)
istate->fsmonitor_dirty = NULL;
}
- switch (fsmonitor_enabled) {
- case -1: /* keep: do nothing */
- break;
- case 0: /* false */
- remove_fsmonitor(istate);
- break;
- case 1: /* true */
+ if (fsmonitor_enabled)
add_fsmonitor(istate);
- break;
- default: /* unknown value: do nothing */
- break;
- }
+ else
+ remove_fsmonitor(istate);
}
diff --git a/fsmonitor.h b/fsmonitor.h
index f20d72631d7..f9201411aa7 100644
--- a/fsmonitor.h
+++ b/fsmonitor.h
@@ -3,6 +3,7 @@
#include "cache.h"
#include "dir.h"
+#include "fsmonitor-settings.h"
extern struct trace_key trace_fsmonitor;
@@ -57,7 +58,11 @@ int fsmonitor_is_trivial_response(const struct strbuf *query_result);
*/
static inline int is_fsmonitor_refreshed(const struct index_state *istate)
{
- return !core_fsmonitor || istate->fsmonitor_has_run_once;
+ struct repository *r = istate->repo ? istate->repo : the_repository;
+ enum fsmonitor_mode fsm_mode = fsm_settings__get_mode(r);
+
+ return fsm_mode <= FSMONITOR_MODE_DISABLED ||
+ istate->fsmonitor_has_run_once;
}
/*
@@ -67,7 +72,11 @@ static inline int is_fsmonitor_refreshed(const struct index_state *istate)
*/
static inline void mark_fsmonitor_valid(struct index_state *istate, struct cache_entry *ce)
{
- if (core_fsmonitor && !(ce->ce_flags & CE_FSMONITOR_VALID)) {
+ struct repository *r = istate->repo ? istate->repo : the_repository;
+ enum fsmonitor_mode fsm_mode = fsm_settings__get_mode(r);
+
+ if (fsm_mode > FSMONITOR_MODE_DISABLED &&
+ !(ce->ce_flags & CE_FSMONITOR_VALID)) {
istate->cache_changed = 1;
ce->ce_flags |= CE_FSMONITOR_VALID;
trace_printf_key(&trace_fsmonitor, "mark_fsmonitor_clean '%s'", ce->name);
@@ -83,7 +92,10 @@ static inline void mark_fsmonitor_valid(struct index_state *istate, struct cache
*/
static inline void mark_fsmonitor_invalid(struct index_state *istate, struct cache_entry *ce)
{
- if (core_fsmonitor) {
+ struct repository *r = istate->repo ? istate->repo : the_repository;
+ enum fsmonitor_mode fsm_mode = fsm_settings__get_mode(r);
+
+ if (fsm_mode > FSMONITOR_MODE_DISABLED) {
ce->ce_flags &= ~CE_FSMONITOR_VALID;
untracked_cache_invalidate_path(istate, ce->name, 1);
trace_printf_key(&trace_fsmonitor, "mark_fsmonitor_invalid '%s'", ce->name);
diff --git a/repository.h b/repository.h
index 2b5cf97f31e..6708207cd4c 100644
--- a/repository.h
+++ b/repository.h
@@ -4,6 +4,7 @@
#include "path.h"
struct config_set;
+struct fsmonitor_settings;
struct git_hash_algo;
struct index_state;
struct lock_file;
@@ -35,6 +36,8 @@ struct repo_settings {
int command_requires_full_index;
int sparse_index;
+ struct fsmonitor_settings *fsmonitor; /* lazily loaded */
+
int index_version;
enum untracked_cache_setting core_untracked_cache;
diff --git a/t/README b/t/README
index f48e0542cdc..9ffea1d3147 100644
--- a/t/README
+++ b/t/README
@@ -405,8 +405,8 @@ every 'git commit-graph write', as if the `--changed-paths` option was
passed in.
GIT_TEST_FSMONITOR=$PWD/t7519/fsmonitor-all exercises the fsmonitor
-code path for utilizing a file system monitor to speed up detecting
-new or changed files.
+code paths for utilizing a (hook based) file system monitor to speed up
+detecting new or changed files.
GIT_TEST_INDEX_VERSION=<n> exercises the index read/write code path
for the index version specified. Can be set to any valid version
--
gitgitgadget
next prev parent reply other threads:[~2022-02-11 20:56 UTC|newest]
Thread overview: 298+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-16 19:54 [PATCH 0/5] Builtin FSMonitor Part 2 Jeff Hostetler via GitGitGadget
2021-09-16 19:54 ` [PATCH 1/5] fsmonitor: enhance existing comments Jeff Hostetler via GitGitGadget
2021-09-17 6:31 ` Bagas Sanjaya
2021-09-17 6:44 ` Junio C Hamano
2021-09-23 14:11 ` Jeff Hostetler
2021-09-16 19:54 ` [PATCH 2/5] fsmonitor-ipc: create client routines for git-fsmonitor--daemon Jeff Hostetler via GitGitGadget
2021-09-16 19:54 ` [PATCH 3/5] fsmonitor: config settings are repository-specific Jeff Hostetler via GitGitGadget
2021-09-16 19:54 ` [PATCH 4/5] fsmonitor: use IPC to query the builtin FSMonitor daemon Jeff Hostetler via GitGitGadget
2021-09-16 19:54 ` [PATCH 5/5] fsmonitor: update fsmonitor config documentation Jeff Hostetler via GitGitGadget
2021-10-07 13:52 ` [PATCH v2 0/5] Builtin FSMonitor Part 2 Jeff Hostetler via GitGitGadget
2021-10-07 13:52 ` [PATCH v2 1/5] fsmonitor: enhance existing comments Jeff Hostetler via GitGitGadget
2021-10-07 13:52 ` [PATCH v2 2/5] fsmonitor-ipc: create client routines for git-fsmonitor--daemon Jeff Hostetler via GitGitGadget
2021-10-07 13:52 ` [PATCH v2 3/5] fsmonitor: config settings are repository-specific Jeff Hostetler via GitGitGadget
2021-10-07 16:59 ` Ævar Arnfjörð Bjarmason
2021-10-08 20:36 ` Jeff Hostetler
2021-10-07 13:52 ` [PATCH v2 4/5] fsmonitor: use IPC to query the builtin FSMonitor daemon Jeff Hostetler via GitGitGadget
2021-10-07 13:52 ` [PATCH v2 5/5] fsmonitor: update fsmonitor config documentation Jeff Hostetler via GitGitGadget
2021-10-13 20:31 ` [PATCH v3 0/5] Builtin FSMonitor Part 2 Jeff Hostetler via GitGitGadget
2021-10-13 20:31 ` [PATCH v3 1/5] fsmonitor: enhance existing comments Jeff Hostetler via GitGitGadget
2021-10-13 20:31 ` [PATCH v3 2/5] fsmonitor-ipc: create client routines for git-fsmonitor--daemon Jeff Hostetler via GitGitGadget
2021-10-13 20:31 ` [PATCH v3 3/5] fsmonitor: config settings are repository-specific Jeff Hostetler via GitGitGadget
2021-10-13 20:31 ` [PATCH v3 4/5] fsmonitor: use IPC to query the builtin FSMonitor daemon Jeff Hostetler via GitGitGadget
2021-10-13 20:31 ` [PATCH v3 5/5] fsmonitor: update fsmonitor config documentation Jeff Hostetler via GitGitGadget
2021-10-15 12:03 ` [PATCH v3 0/5] Builtin FSMonitor Part 2 Ævar Arnfjörð Bjarmason
2021-10-20 21:43 ` Jeff Hostetler
2021-10-21 14:24 ` [PATCH v4 00/29] " Jeff Hostetler via GitGitGadget
2021-10-21 14:24 ` [PATCH v4 01/29] fsmonitor: enhance existing comments Jeff Hostetler via GitGitGadget
2021-10-21 20:40 ` Junio C Hamano
2021-10-27 18:46 ` Jeff Hostetler
2021-10-21 14:24 ` [PATCH v4 02/29] fsmonitor-ipc: create client routines for git-fsmonitor--daemon Jeff Hostetler via GitGitGadget
2021-10-21 14:24 ` [PATCH v4 03/29] fsmonitor: config settings are repository-specific Jeff Hostetler via GitGitGadget
2021-10-21 21:05 ` Junio C Hamano
2021-10-21 21:16 ` Junio C Hamano
2021-10-27 19:53 ` Jeff Hostetler
2021-10-27 19:03 ` Jeff Hostetler
2021-10-21 14:24 ` [PATCH v4 04/29] fsmonitor: use IPC to query the builtin FSMonitor daemon Jeff Hostetler via GitGitGadget
2021-10-21 14:24 ` [PATCH v4 05/29] fsmonitor: document builtin fsmonitor Jeff Hostetler via GitGitGadget
2021-10-21 14:24 ` [PATCH v4 06/29] fsmonitor--daemon: add a built-in fsmonitor daemon Jeff Hostetler via GitGitGadget
2021-10-21 14:24 ` [PATCH v4 07/29] fsmonitor--daemon: implement 'stop' and 'status' commands Jeff Hostetler via GitGitGadget
2021-10-21 14:24 ` [PATCH v4 08/29] compat/fsmonitor/fsm-listen-win32: stub in backend for Windows Jeff Hostetler via GitGitGadget
2021-10-21 14:24 ` [PATCH v4 09/29] compat/fsmonitor/fsm-listen-darwin: stub in backend for Darwin Jeff Hostetler via GitGitGadget
2021-10-21 14:24 ` [PATCH v4 10/29] fsmonitor--daemon: implement 'run' command Jeff Hostetler via GitGitGadget
2021-10-21 14:24 ` [PATCH v4 11/29] fsmonitor--daemon: implement 'start' command Jeff Hostetler via GitGitGadget
2021-10-21 14:24 ` [PATCH v4 12/29] fsmonitor--daemon: add pathname classification Jeff Hostetler via GitGitGadget
2021-10-21 14:24 ` [PATCH v4 13/29] fsmonitor--daemon: define token-ids Jeff Hostetler via GitGitGadget
2021-10-21 14:24 ` [PATCH v4 14/29] fsmonitor--daemon: create token-based changed path cache Jeff Hostetler via GitGitGadget
2021-10-21 14:24 ` [PATCH v4 15/29] compat/fsmonitor/fsm-listen-win32: implement FSMonitor backend on Windows Jeff Hostetler via GitGitGadget
2021-10-21 14:24 ` [PATCH v4 16/29] compat/fsmonitor/fsm-listen-darwin: add macos header files for FSEvent Jeff Hostetler via GitGitGadget
2021-10-21 14:24 ` [PATCH v4 17/29] compat/fsmonitor/fsm-listen-darwin: implement FSEvent listener on MacOS Jeff Hostetler via GitGitGadget
2021-10-21 14:24 ` [PATCH v4 18/29] fsmonitor--daemon: implement handle_client callback Jeff Hostetler via GitGitGadget
2021-10-21 14:24 ` [PATCH v4 19/29] help: include fsmonitor--daemon feature flag in version info Jeff Hostetler via GitGitGadget
2021-10-21 14:25 ` [PATCH v4 20/29] t/helper/fsmonitor-client: create IPC client to talk to FSMonitor Daemon Jeff Hostetler via GitGitGadget
2021-10-21 14:25 ` [PATCH v4 21/29] t7527: create test for fsmonitor--daemon Jeff Hostetler via GitGitGadget
2021-12-26 3:59 ` Junio C Hamano
2021-10-21 14:25 ` [PATCH v4 22/29] t/perf: avoid copying builtin fsmonitor files into test repo Jeff Hostetler via GitGitGadget
2021-10-21 14:25 ` [PATCH v4 23/29] t/helper/test-chmtime: skip directories on Windows Jeff Hostetler via GitGitGadget
2021-10-21 14:25 ` [PATCH v4 24/29] t/perf/p7519: speed up test " Jeff Hostetler via GitGitGadget
2021-12-26 4:09 ` Junio C Hamano
2021-10-21 14:25 ` [PATCH v4 25/29] t/perf/p7519: add fsmonitor--daemon test cases Jeff Hostetler via GitGitGadget
2021-10-21 14:25 ` [PATCH v4 26/29] fsmonitor--daemon: periodically truncate list of modified files Jeff Hostetler via GitGitGadget
2021-10-21 14:25 ` [PATCH v4 27/29] fsmonitor--daemon: use a cookie file to sync with file system Jeff Hostetler via GitGitGadget
2021-10-21 14:25 ` [PATCH v4 28/29] fsmonitor: force update index after large responses Jeff Hostetler via GitGitGadget
2021-10-21 14:25 ` [PATCH v4 29/29] t7527: test status with untracked-cache and fsmonitor--daemon Jeff Hostetler via GitGitGadget
2021-10-22 5:23 ` Eric Sunshine
2021-10-27 20:06 ` Jeff Hostetler
2022-02-11 20:55 ` [PATCH v5 00/30] Builtin FSMonitor Part 2 Jeff Hostetler via GitGitGadget
2022-02-11 20:55 ` [PATCH v5 01/30] fsmonitor: enhance existing comments, clarify trivial response handling Jeff Hostetler via GitGitGadget
2022-02-11 20:55 ` [PATCH v5 02/30] fsmonitor-ipc: create client routines for git-fsmonitor--daemon Jeff Hostetler via GitGitGadget
2022-02-17 16:13 ` Johannes Schindelin
2022-02-11 20:55 ` Jeff Hostetler via GitGitGadget [this message]
2022-02-17 16:27 ` [PATCH v5 03/30] fsmonitor: config settings are repository-specific Johannes Schindelin
2022-02-17 19:21 ` Jeff Hostetler
2022-02-24 15:50 ` Johannes Schindelin
2022-02-11 20:55 ` [PATCH v5 04/30] fsmonitor: use IPC to query the builtin FSMonitor daemon Jeff Hostetler via GitGitGadget
2022-02-11 20:55 ` [PATCH v5 05/30] fsmonitor: document builtin fsmonitor Jeff Hostetler via GitGitGadget
2022-02-11 20:55 ` [PATCH v5 06/30] fsmonitor--daemon: add a built-in fsmonitor daemon Jeff Hostetler via GitGitGadget
2022-02-25 22:46 ` Ævar Arnfjörð Bjarmason
2022-03-01 14:58 ` Jeff Hostetler
2022-03-01 17:37 ` Junio C Hamano
2022-02-11 20:55 ` [PATCH v5 07/30] fsmonitor--daemon: implement 'stop' and 'status' commands Jeff Hostetler via GitGitGadget
2022-02-11 20:55 ` [PATCH v5 08/30] compat/fsmonitor/fsm-listen-win32: stub in backend for Windows Jeff Hostetler via GitGitGadget
2022-02-11 20:55 ` [PATCH v5 09/30] compat/fsmonitor/fsm-listen-darwin: stub in backend for Darwin Jeff Hostetler via GitGitGadget
2022-02-11 20:55 ` [PATCH v5 10/30] fsmonitor--daemon: implement 'run' command Jeff Hostetler via GitGitGadget
2022-02-17 16:46 ` Johannes Schindelin
2022-02-17 19:26 ` Jeff Hostetler
2022-02-24 15:31 ` Johannes Schindelin
2022-02-11 20:56 ` [PATCH v5 11/30] fsmonitor--daemon: implement 'start' command Jeff Hostetler via GitGitGadget
2022-02-17 16:50 ` Johannes Schindelin
2022-02-24 15:30 ` Johannes Schindelin
2022-02-11 20:56 ` [PATCH v5 12/30] fsmonitor--daemon: add pathname classification Jeff Hostetler via GitGitGadget
2022-02-24 14:36 ` Johannes Schindelin
2022-02-11 20:56 ` [PATCH v5 13/30] fsmonitor--daemon: define token-ids Jeff Hostetler via GitGitGadget
2022-02-11 20:56 ` [PATCH v5 14/30] fsmonitor--daemon: create token-based changed path cache Jeff Hostetler via GitGitGadget
2022-02-11 20:56 ` [PATCH v5 15/30] compat/fsmonitor/fsm-listen-win32: implement FSMonitor backend on Windows Jeff Hostetler via GitGitGadget
2022-02-24 15:10 ` Johannes Schindelin
2022-02-11 20:56 ` [PATCH v5 16/30] compat/fsmonitor/fsm-listen-darwin: add macos header files for FSEvent Jeff Hostetler via GitGitGadget
2022-02-24 15:13 ` Johannes Schindelin
2022-02-11 20:56 ` [PATCH v5 17/30] compat/fsmonitor/fsm-listen-darwin: implement FSEvent listener on MacOS Jeff Hostetler via GitGitGadget
2022-02-24 15:21 ` Johannes Schindelin
2022-02-11 20:56 ` [PATCH v5 18/30] fsmonitor--daemon: implement handle_client callback Jeff Hostetler via GitGitGadget
2022-02-11 20:56 ` [PATCH v5 19/30] help: include fsmonitor--daemon feature flag in version info Jeff Hostetler via GitGitGadget
2022-02-24 15:39 ` Johannes Schindelin
2022-02-11 20:56 ` [PATCH v5 20/30] t/helper/fsmonitor-client: create IPC client to talk to FSMonitor Daemon Jeff Hostetler via GitGitGadget
2022-02-11 20:56 ` [PATCH v5 21/30] t7527: create test for fsmonitor--daemon Jeff Hostetler via GitGitGadget
2022-02-11 20:56 ` [PATCH v5 22/30] t/perf: avoid copying builtin fsmonitor files into test repo Jeff Hostetler via GitGitGadget
2022-02-11 20:56 ` [PATCH v5 23/30] t/helper/test-chmtime: skip directories on Windows Jeff Hostetler via GitGitGadget
2022-02-28 9:43 ` Tao Klerks
2022-02-28 17:49 ` Jeff Hostetler
2022-02-28 18:39 ` Junio C Hamano
2022-02-11 20:56 ` [PATCH v5 24/30] t/perf/p7519: speed up test " Jeff Hostetler via GitGitGadget
2022-02-17 1:15 ` Junio C Hamano
2022-02-17 19:03 ` Jeff Hostetler
2022-02-11 20:56 ` [PATCH v5 25/30] t/perf/p7519: add fsmonitor--daemon test cases Jeff Hostetler via GitGitGadget
2022-02-11 20:56 ` [PATCH v5 26/30] fsmonitor--daemon: periodically truncate list of modified files Jeff Hostetler via GitGitGadget
2022-02-24 16:38 ` Johannes Schindelin
2022-02-11 20:56 ` [PATCH v5 27/30] fsmonitor--daemon: use a cookie file to sync with file system Jeff Hostetler via GitGitGadget
2022-02-24 16:45 ` Johannes Schindelin
2022-02-11 20:56 ` [PATCH v5 28/30] fsmonitor: force update index after large responses Jeff Hostetler via GitGitGadget
2022-02-24 16:51 ` Johannes Schindelin
2022-02-11 20:56 ` [PATCH v5 29/30] t7527: test status with untracked-cache and fsmonitor--daemon Jeff Hostetler via GitGitGadget
2022-02-11 20:56 ` [PATCH v5 30/30] update-index: convert fsmonitor warnings to advise Jeff Hostetler via GitGitGadget
2022-02-17 16:06 ` [PATCH v5 00/30] Builtin FSMonitor Part 2 Johannes Schindelin
2022-02-17 19:36 ` Junio C Hamano
2022-02-24 15:47 ` Johannes Schindelin
2022-02-24 17:16 ` Junio C Hamano
2022-02-22 18:53 ` Jeff Hostetler
2022-02-24 16:22 ` Johannes Schindelin
2022-02-24 18:13 ` Jeff Hostetler
2022-02-24 19:16 ` Johannes Schindelin
2022-03-01 18:43 ` [PATCH v6 " Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 01/30] fsmonitor: enhance existing comments, clarify trivial response handling Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 02/30] fsmonitor-ipc: create client routines for git-fsmonitor--daemon Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 03/30] fsmonitor: config settings are repository-specific Jeff Hostetler via GitGitGadget
2022-03-11 1:47 ` Ævar Arnfjörð Bjarmason
2022-03-11 14:07 ` Jeff Hostetler
2022-03-01 18:43 ` [PATCH v6 04/30] fsmonitor: use IPC to query the builtin FSMonitor daemon Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 05/30] fsmonitor: document builtin fsmonitor Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 06/30] fsmonitor--daemon: add a built-in fsmonitor daemon Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 07/30] fsmonitor--daemon: implement 'stop' and 'status' commands Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 08/30] compat/fsmonitor/fsm-listen-win32: stub in backend for Windows Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 09/30] compat/fsmonitor/fsm-listen-darwin: stub in backend for Darwin Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 10/30] fsmonitor--daemon: implement 'run' command Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 11/30] fsmonitor--daemon: implement 'start' command Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 12/30] fsmonitor--daemon: add pathname classification Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 13/30] fsmonitor--daemon: define token-ids Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 14/30] fsmonitor--daemon: create token-based changed path cache Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 15/30] compat/fsmonitor/fsm-listen-win32: implement FSMonitor backend on Windows Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 16/30] compat/fsmonitor/fsm-listen-darwin: add MacOS header files for FSEvent Jeff Hostetler via GitGitGadget
2022-03-07 10:37 ` Ævar Arnfjörð Bjarmason
2022-03-08 20:26 ` Jeff Hostetler
2022-03-09 13:52 ` Ævar Arnfjörð Bjarmason
2022-03-08 21:09 ` Jeff Hostetler
2022-03-09 14:14 ` Ævar Arnfjörð Bjarmason
2022-03-10 14:32 ` Johannes Schindelin
2022-03-10 14:42 ` Ævar Arnfjörð Bjarmason
2022-03-10 15:42 ` Jeff Hostetler
2022-03-09 13:37 ` Jeff Hostetler
2022-03-09 18:57 ` Junio C Hamano
2022-03-09 19:37 ` Ævar Arnfjörð Bjarmason
2022-03-11 21:01 ` Jeff Hostetler
2022-03-01 18:43 ` [PATCH v6 17/30] compat/fsmonitor/fsm-listen-darwin: implement FSEvent listener on MacOS Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 18/30] fsmonitor--daemon: implement handle_client callback Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 19/30] help: include fsmonitor--daemon feature flag in version info Jeff Hostetler via GitGitGadget
2022-03-07 10:51 ` Ævar Arnfjörð Bjarmason
2022-03-08 21:19 ` Jeff Hostetler
2022-03-01 18:43 ` [PATCH v6 20/30] t/helper/fsmonitor-client: create IPC client to talk to FSMonitor Daemon Jeff Hostetler via GitGitGadget
2022-03-07 10:53 ` Ævar Arnfjörð Bjarmason
2022-03-01 18:43 ` [PATCH v6 21/30] t7527: create test for fsmonitor--daemon Jeff Hostetler via GitGitGadget
2022-03-07 10:58 ` Ævar Arnfjörð Bjarmason
2022-03-01 18:43 ` [PATCH v6 22/30] t/perf: avoid copying builtin fsmonitor files into test repo Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 23/30] t/helper/test-chmtime: skip directories on Windows Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 24/30] t/perf/p7519: speed up test " Jeff Hostetler via GitGitGadget
2022-03-07 11:09 ` Ævar Arnfjörð Bjarmason
2022-03-01 18:43 ` [PATCH v6 25/30] t/perf/p7519: add fsmonitor--daemon test cases Jeff Hostetler via GitGitGadget
2022-03-07 11:12 ` Ævar Arnfjörð Bjarmason
2022-03-01 18:43 ` [PATCH v6 26/30] fsmonitor--daemon: periodically truncate list of modified files Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 27/30] fsmonitor--daemon: use a cookie file to sync with file system Jeff Hostetler via GitGitGadget
2022-03-07 11:15 ` Ævar Arnfjörð Bjarmason
2022-03-01 18:43 ` [PATCH v6 28/30] fsmonitor: force update index after large responses Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 29/30] t7527: test status with untracked-cache and fsmonitor--daemon Jeff Hostetler via GitGitGadget
2022-03-01 18:43 ` [PATCH v6 30/30] update-index: convert fsmonitor warnings to advise Jeff Hostetler via GitGitGadget
2022-03-07 11:29 ` Ævar Arnfjörð Bjarmason
2022-03-01 19:05 ` [PATCH v6 00/30] Builtin FSMonitor Part 2 Junio C Hamano
2022-03-01 19:20 ` Johannes Schindelin
2022-03-22 17:59 ` [PATCH v7 00/29] " Jeff Hostetler via GitGitGadget
2022-03-22 17:59 ` [PATCH v7 01/29] fsmonitor: enhance existing comments, clarify trivial response handling Jeff Hostetler via GitGitGadget
2022-03-22 17:59 ` [PATCH v7 02/29] fsmonitor-ipc: create client routines for git-fsmonitor--daemon Jeff Hostetler via GitGitGadget
2022-03-22 17:59 ` [PATCH v7 03/29] fsmonitor: config settings are repository-specific Jeff Hostetler via GitGitGadget
2022-03-22 17:59 ` [PATCH v7 04/29] fsmonitor: use IPC to query the builtin FSMonitor daemon Jeff Hostetler via GitGitGadget
2022-03-22 17:59 ` [PATCH v7 05/29] fsmonitor: document builtin fsmonitor Jeff Hostetler via GitGitGadget
2022-03-22 17:59 ` [PATCH v7 06/29] fsmonitor--daemon: add a built-in fsmonitor daemon Jeff Hostetler via GitGitGadget
2022-03-22 17:59 ` [PATCH v7 07/29] fsmonitor--daemon: implement 'stop' and 'status' commands Jeff Hostetler via GitGitGadget
2022-03-22 17:59 ` [PATCH v7 08/29] compat/fsmonitor/fsm-listen-win32: stub in backend for Windows Jeff Hostetler via GitGitGadget
2022-03-22 17:59 ` [PATCH v7 09/29] compat/fsmonitor/fsm-listen-darwin: stub in backend for Darwin Jeff Hostetler via GitGitGadget
2022-03-22 17:59 ` [PATCH v7 10/29] fsmonitor--daemon: implement 'run' command Jeff Hostetler via GitGitGadget
2022-03-22 17:59 ` [PATCH v7 11/29] fsmonitor--daemon: implement 'start' command Jeff Hostetler via GitGitGadget
2022-03-22 17:59 ` [PATCH v7 12/29] fsmonitor--daemon: add pathname classification Jeff Hostetler via GitGitGadget
2022-03-22 17:59 ` [PATCH v7 13/29] fsmonitor--daemon: define token-ids Jeff Hostetler via GitGitGadget
2022-03-22 17:59 ` [PATCH v7 14/29] fsmonitor--daemon: create token-based changed path cache Jeff Hostetler via GitGitGadget
2022-03-22 17:59 ` [PATCH v7 15/29] compat/fsmonitor/fsm-listen-win32: implement FSMonitor backend on Windows Jeff Hostetler via GitGitGadget
2022-03-22 17:59 ` [PATCH v7 16/29] compat/fsmonitor/fsm-listen-darwin: add MacOS header files for FSEvent Jeff Hostetler via GitGitGadget
2022-03-22 18:19 ` Ævar Arnfjörð Bjarmason
2022-03-23 14:32 ` Jeff Hostetler
2022-03-22 17:59 ` [PATCH v7 17/29] compat/fsmonitor/fsm-listen-darwin: implement FSEvent listener on MacOS Jeff Hostetler via GitGitGadget
2022-03-22 17:59 ` [PATCH v7 18/29] fsmonitor--daemon: implement handle_client callback Jeff Hostetler via GitGitGadget
2022-03-22 18:30 ` Ævar Arnfjörð Bjarmason
2022-03-23 14:45 ` Jeff Hostetler
2022-03-22 18:00 ` [PATCH v7 19/29] help: include fsmonitor--daemon feature flag in version info Jeff Hostetler via GitGitGadget
2022-03-22 18:00 ` [PATCH v7 20/29] t/helper/fsmonitor-client: create IPC client to talk to FSMonitor Daemon Jeff Hostetler via GitGitGadget
2022-03-22 18:00 ` [PATCH v7 21/29] t7527: create test for fsmonitor--daemon Jeff Hostetler via GitGitGadget
2022-03-22 18:35 ` Ævar Arnfjörð Bjarmason
2022-03-23 16:22 ` Jeff Hostetler
2022-03-22 18:00 ` [PATCH v7 22/29] t/perf: avoid copying builtin fsmonitor files into test repo Jeff Hostetler via GitGitGadget
2022-03-22 18:00 ` [PATCH v7 23/29] t/helper/test-chmtime: skip directories on Windows Jeff Hostetler via GitGitGadget
2022-03-22 18:00 ` [PATCH v7 24/29] t/perf/p7519: speed up test " Jeff Hostetler via GitGitGadget
2022-03-22 18:43 ` Ævar Arnfjörð Bjarmason
2022-03-23 16:33 ` Jeff Hostetler
2022-03-22 18:00 ` [PATCH v7 25/29] t/perf/p7519: add fsmonitor--daemon test cases Jeff Hostetler via GitGitGadget
2022-03-22 18:00 ` [PATCH v7 26/29] fsmonitor--daemon: periodically truncate list of modified files Jeff Hostetler via GitGitGadget
2022-03-22 18:00 ` [PATCH v7 27/29] fsmonitor--daemon: use a cookie file to sync with file system Jeff Hostetler via GitGitGadget
2022-03-22 18:00 ` [PATCH v7 28/29] fsmonitor: force update index after large responses Jeff Hostetler via GitGitGadget
2022-03-22 18:00 ` [PATCH v7 29/29] t7527: test status with untracked-cache and fsmonitor--daemon Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 00/30] Builtin FSMonitor Part 2 Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 01/30] fsmonitor: enhance existing comments, clarify trivial response handling Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 02/30] fsmonitor-ipc: create client routines for git-fsmonitor--daemon Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 03/30] fsmonitor: config settings are repository-specific Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 04/30] fsmonitor: use IPC to query the builtin FSMonitor daemon Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 05/30] fsmonitor: document builtin fsmonitor Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 06/30] fsmonitor--daemon: add a built-in fsmonitor daemon Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 07/30] fsmonitor--daemon: implement 'stop' and 'status' commands Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 08/30] compat/fsmonitor/fsm-listen-win32: stub in backend for Windows Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 09/30] compat/fsmonitor/fsm-listen-darwin: stub in backend for Darwin Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 10/30] fsmonitor--daemon: implement 'run' command Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 11/30] fsmonitor--daemon: implement 'start' command Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 12/30] fsmonitor--daemon: add pathname classification Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 13/30] fsmonitor--daemon: define token-ids Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 14/30] fsmonitor--daemon: create token-based changed path cache Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 15/30] compat/fsmonitor/fsm-listen-win32: implement FSMonitor backend on Windows Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 16/30] compat/fsmonitor/fsm-listen-darwin: add MacOS header files for FSEvent Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 17/30] compat/fsmonitor/fsm-listen-darwin: implement FSEvent listener on MacOS Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 18/30] fsmonitor--daemon: implement handle_client callback Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 19/30] help: include fsmonitor--daemon feature flag in version info Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 20/30] t/helper/fsmonitor-client: create IPC client to talk to FSMonitor Daemon Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 21/30] t7527: create test for fsmonitor--daemon Jeff Hostetler via GitGitGadget
2022-03-24 18:59 ` Junio C Hamano
2022-03-24 19:05 ` rsbecker
2022-03-24 20:27 ` Jeff Hostetler
2022-03-24 20:36 ` rsbecker
2022-03-24 20:42 ` Jeff Hostetler
2022-03-24 20:46 ` rsbecker
2022-03-24 20:51 ` Jeff Hostetler
2022-03-24 20:45 ` Jeff Hostetler
2022-03-24 16:49 ` [PATCH v8 22/30] t/perf: avoid copying builtin fsmonitor files into test repo Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 23/30] t/helper/test-chmtime: skip directories on Windows Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 24/30] t/perf/p7519: fix coding style Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 25/30] t/perf/p7519: speed up test on Windows Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 26/30] t/perf/p7519: add fsmonitor--daemon test cases Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 27/30] fsmonitor--daemon: periodically truncate list of modified files Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 28/30] fsmonitor--daemon: use a cookie file to sync with file system Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 29/30] fsmonitor: force update index after large responses Jeff Hostetler via GitGitGadget
2022-03-24 16:49 ` [PATCH v8 30/30] t7527: test status with untracked-cache and fsmonitor--daemon Jeff Hostetler via GitGitGadget
2022-03-25 18:02 ` [PATCH v9 00/30] Builtin FSMonitor Part 2 Jeff Hostetler via GitGitGadget
2022-03-25 18:02 ` [PATCH v9 01/30] fsmonitor: enhance existing comments, clarify trivial response handling Jeff Hostetler via GitGitGadget
2022-03-25 18:02 ` [PATCH v9 02/30] fsmonitor-ipc: create client routines for git-fsmonitor--daemon Jeff Hostetler via GitGitGadget
2022-03-25 18:02 ` [PATCH v9 03/30] fsmonitor: config settings are repository-specific Jeff Hostetler via GitGitGadget
2022-03-25 18:02 ` [PATCH v9 04/30] fsmonitor: use IPC to query the builtin FSMonitor daemon Jeff Hostetler via GitGitGadget
2022-03-25 18:02 ` [PATCH v9 05/30] fsmonitor: document builtin fsmonitor Jeff Hostetler via GitGitGadget
2022-03-25 18:02 ` [PATCH v9 06/30] fsmonitor--daemon: add a built-in fsmonitor daemon Jeff Hostetler via GitGitGadget
2022-03-25 18:02 ` [PATCH v9 07/30] fsmonitor--daemon: implement 'stop' and 'status' commands Jeff Hostetler via GitGitGadget
2022-03-25 18:02 ` [PATCH v9 08/30] compat/fsmonitor/fsm-listen-win32: stub in backend for Windows Jeff Hostetler via GitGitGadget
2022-03-25 18:02 ` [PATCH v9 09/30] compat/fsmonitor/fsm-listen-darwin: stub in backend for Darwin Jeff Hostetler via GitGitGadget
2022-03-25 18:02 ` [PATCH v9 10/30] fsmonitor--daemon: implement 'run' command Jeff Hostetler via GitGitGadget
2022-03-25 18:02 ` [PATCH v9 11/30] fsmonitor--daemon: implement 'start' command Jeff Hostetler via GitGitGadget
2022-03-25 18:02 ` [PATCH v9 12/30] fsmonitor--daemon: add pathname classification Jeff Hostetler via GitGitGadget
2022-03-25 18:02 ` [PATCH v9 13/30] fsmonitor--daemon: define token-ids Jeff Hostetler via GitGitGadget
2022-03-25 18:02 ` [PATCH v9 14/30] fsmonitor--daemon: create token-based changed path cache Jeff Hostetler via GitGitGadget
2022-03-25 18:02 ` [PATCH v9 15/30] compat/fsmonitor/fsm-listen-win32: implement FSMonitor backend on Windows Jeff Hostetler via GitGitGadget
2022-03-25 18:02 ` [PATCH v9 16/30] compat/fsmonitor/fsm-listen-darwin: add MacOS header files for FSEvent Jeff Hostetler via GitGitGadget
2022-03-25 18:03 ` [PATCH v9 17/30] compat/fsmonitor/fsm-listen-darwin: implement FSEvent listener on MacOS Jeff Hostetler via GitGitGadget
2022-03-25 18:03 ` [PATCH v9 18/30] fsmonitor--daemon: implement handle_client callback Jeff Hostetler via GitGitGadget
2022-03-25 18:03 ` [PATCH v9 19/30] help: include fsmonitor--daemon feature flag in version info Jeff Hostetler via GitGitGadget
2022-03-25 18:03 ` [PATCH v9 20/30] t/helper/fsmonitor-client: create IPC client to talk to FSMonitor Daemon Jeff Hostetler via GitGitGadget
2022-03-25 18:03 ` [PATCH v9 21/30] t7527: create test for fsmonitor--daemon Jeff Hostetler via GitGitGadget
2022-03-25 18:03 ` [PATCH v9 22/30] t/perf: avoid copying builtin fsmonitor files into test repo Jeff Hostetler via GitGitGadget
2022-03-25 18:03 ` [PATCH v9 23/30] t/helper/test-chmtime: skip directories on Windows Jeff Hostetler via GitGitGadget
2022-03-25 18:03 ` [PATCH v9 24/30] t/perf/p7519: fix coding style Jeff Hostetler via GitGitGadget
2022-03-25 18:03 ` [PATCH v9 25/30] t/perf/p7519: speed up test on Windows Jeff Hostetler via GitGitGadget
2022-03-25 18:03 ` [PATCH v9 26/30] t/perf/p7519: add fsmonitor--daemon test cases Jeff Hostetler via GitGitGadget
2022-03-25 18:03 ` [PATCH v9 27/30] fsmonitor--daemon: periodically truncate list of modified files Jeff Hostetler via GitGitGadget
2022-03-25 18:03 ` [PATCH v9 28/30] fsmonitor--daemon: use a cookie file to sync with file system Jeff Hostetler via GitGitGadget
2022-03-25 18:03 ` [PATCH v9 29/30] fsmonitor: force update index after large responses Jeff Hostetler via GitGitGadget
2022-03-25 18:03 ` [PATCH v9 30/30] t7527: test status with untracked-cache and fsmonitor--daemon Jeff Hostetler via GitGitGadget
2022-03-25 19:02 ` [PATCH v9 00/30] Builtin FSMonitor Part 2 rsbecker
2022-03-25 20:12 ` Jeff Hostetler
2022-03-26 0:48 ` Ævar Arnfjörð Bjarmason
2022-03-28 16:27 ` Jeff Hostetler
2022-03-25 23:09 ` Junio C Hamano
2022-03-28 15:17 ` Jeff Hostetler
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=384516ce1a190d836324b2c2262d611090207357.1644612979.git.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=avarab@gmail.com \
--cc=bagasdotme@gmail.com \
--cc=git@jeffhostetler.com \
--cc=git@vger.kernel.org \
--cc=jeffhost@microsoft.com \
--cc=sunshine@sunshineco.com \
/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 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 NNTP newsgroup(s).