git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Jeff Hostetler via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Jeff Hostetler <git@jeffhostetler.com>,
	Jeff Hostetler <jeffhost@microsoft.com>,
	Jeff Hostetler <jeffhost@microsoft.com>
Subject: [PATCH v4 13/29] fsmonitor--daemon: define token-ids
Date: Thu, 21 Oct 2021 14:24:53 +0000	[thread overview]
Message-ID: <65821da5b03d9e2f849da376e6ecbff12c9e8f69.1634826309.git.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1041.v4.git.1634826309.gitgitgadget@gmail.com>

From: Jeff Hostetler <jeffhost@microsoft.com>

Teach fsmonitor--daemon to create token-ids and define the
overall token naming scheme.

Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com>
---
 builtin/fsmonitor--daemon.c | 116 +++++++++++++++++++++++++++++++++++-
 1 file changed, 115 insertions(+), 1 deletion(-)

diff --git a/builtin/fsmonitor--daemon.c b/builtin/fsmonitor--daemon.c
index 1618f1aa27f..2997c2cba8c 100644
--- a/builtin/fsmonitor--daemon.c
+++ b/builtin/fsmonitor--daemon.c
@@ -93,6 +93,120 @@ static int do_as_client__status(void)
 	}
 }
 
+/*
+ * Requests to and from a FSMonitor Protocol V2 provider use an opaque
+ * "token" as a virtual timestamp.  Clients can request a summary of all
+ * created/deleted/modified files relative to a token.  In the response,
+ * clients receive a new token for the next (relative) request.
+ *
+ *
+ * Token Format
+ * ============
+ *
+ * The contents of the token are private and provider-specific.
+ *
+ * For the built-in fsmonitor--daemon, we define a token as follows:
+ *
+ *     "builtin" ":" <token_id> ":" <sequence_nr>
+ *
+ * The "builtin" prefix is used as a namespace to avoid conflicts
+ * with other providers (such as Watchman).
+ *
+ * The <token_id> is an arbitrary OPAQUE string, such as a GUID,
+ * UUID, or {timestamp,pid}.  It is used to group all filesystem
+ * events that happened while the daemon was monitoring (and in-sync
+ * with the filesystem).
+ *
+ *     Unlike FSMonitor Protocol V1, it is not defined as a timestamp
+ *     and does not define less-than/greater-than relationships.
+ *     (There are too many race conditions to rely on file system
+ *     event timestamps.)
+ *
+ * The <sequence_nr> is a simple integer incremented whenever the
+ * daemon needs to make its state public.  For example, if 1000 file
+ * system events come in, but no clients have requested the data,
+ * the daemon can continue to accumulate file changes in the same
+ * bin and does not need to advance the sequence number.  However,
+ * as soon as a client does arrive, the daemon needs to start a new
+ * bin and increment the sequence number.
+ *
+ *     The sequence number serves as the boundary between 2 sets
+ *     of bins -- the older ones that the client has already seen
+ *     and the newer ones that it hasn't.
+ *
+ * When a new <token_id> is created, the <sequence_nr> is reset to
+ * zero.
+ *
+ *
+ * About Token Ids
+ * ===============
+ *
+ * A new token_id is created:
+ *
+ * [1] each time the daemon is started.
+ *
+ * [2] any time that the daemon must re-sync with the filesystem
+ *     (such as when the kernel drops or we miss events on a very
+ *     active volume).
+ *
+ * [3] in response to a client "flush" command (for dropped event
+ *     testing).
+ *
+ * When a new token_id is created, the daemon is free to discard all
+ * cached filesystem events associated with any previous token_ids.
+ * Events associated with a non-current token_id will never be sent
+ * to a client.  A token_id change implicitly means that the daemon
+ * has gap in its event history.
+ *
+ * Therefore, clients that present a token with a stale (non-current)
+ * token_id will always be given a trivial response.
+ */
+struct fsmonitor_token_data {
+	struct strbuf token_id;
+	struct fsmonitor_batch *batch_head;
+	struct fsmonitor_batch *batch_tail;
+	uint64_t client_ref_count;
+};
+
+static struct fsmonitor_token_data *fsmonitor_new_token_data(void)
+{
+	static int test_env_value = -1;
+	static uint64_t flush_count = 0;
+	struct fsmonitor_token_data *token;
+
+	CALLOC_ARRAY(token, 1);
+
+	strbuf_init(&token->token_id, 0);
+	token->batch_head = NULL;
+	token->batch_tail = NULL;
+	token->client_ref_count = 0;
+
+	if (test_env_value < 0)
+		test_env_value = git_env_bool("GIT_TEST_FSMONITOR_TOKEN", 0);
+
+	if (!test_env_value) {
+		struct timeval tv;
+		struct tm tm;
+		time_t secs;
+
+		gettimeofday(&tv, NULL);
+		secs = tv.tv_sec;
+		gmtime_r(&secs, &tm);
+
+		strbuf_addf(&token->token_id,
+			    "%"PRIu64".%d.%4d%02d%02dT%02d%02d%02d.%06ldZ",
+			    flush_count++,
+			    getpid(),
+			    tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday,
+			    tm.tm_hour, tm.tm_min, tm.tm_sec,
+			    (long)tv.tv_usec);
+	} else {
+		strbuf_addf(&token->token_id, "test_%08x", test_env_value++);
+	}
+
+	return token;
+}
+
 static ipc_server_application_cb handle_client;
 
 static int handle_client(void *data,
@@ -285,7 +399,7 @@ static int fsmonitor_run_daemon(void)
 
 	pthread_mutex_init(&state.main_lock, NULL);
 	state.error_code = 0;
-	state.current_token_data = NULL;
+	state.current_token_data = fsmonitor_new_token_data();
 
 	/* Prepare to (recursively) watch the <worktree-root> directory. */
 	strbuf_init(&state.path_worktree_watch, 0);
-- 
gitgitgadget


  parent reply	other threads:[~2021-10-21 14:25 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       ` Jeff Hostetler via GitGitGadget [this message]
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         ` [PATCH v5 03/30] fsmonitor: config settings are repository-specific Jeff Hostetler via GitGitGadget
2022-02-17 16:27           ` 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

  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=65821da5b03d9e2f849da376e6ecbff12c9e8f69.1634826309.git.gitgitgadget@gmail.com \
    --to=gitgitgadget@gmail.com \
    --cc=git@jeffhostetler.com \
    --cc=git@vger.kernel.org \
    --cc=jeffhost@microsoft.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.
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).