Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Hostetler <jeffhost@microsoft.com>2022-05-27 00:46:58 +0300
committerJunio C Hamano <gitster@pobox.com>2022-05-27 01:59:26 +0300
commit62a62a28308453ee830bb7e02cf732474a6e01a5 (patch)
treebb7a65a5e3e244b804a4089cb984d506b3e2736a /fsmonitor-settings.h
parent49b398a970f6efa368114330da23ae69aeeb9c60 (diff)
fsmonitor-settings: bare repos are incompatible with FSMonitor
Bare repos do not have a worktree, so there is nothing for the daemon watch. Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'fsmonitor-settings.h')
-rw-r--r--fsmonitor-settings.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/fsmonitor-settings.h b/fsmonitor-settings.h
index a4c5d7b488..8d9331c0c0 100644
--- a/fsmonitor-settings.h
+++ b/fsmonitor-settings.h
@@ -4,18 +4,34 @@
struct repository;
enum fsmonitor_mode {
+ FSMONITOR_MODE_INCOMPATIBLE = -1, /* see _reason */
FSMONITOR_MODE_DISABLED = 0,
FSMONITOR_MODE_HOOK = 1, /* core.fsmonitor=<hook_path> */
FSMONITOR_MODE_IPC = 2, /* core.fsmonitor=<true> */
};
+/*
+ * Incompatibility reasons.
+ */
+enum fsmonitor_reason {
+ FSMONITOR_REASON_UNTESTED = 0,
+ FSMONITOR_REASON_OK, /* no incompatibility or when disabled */
+ FSMONITOR_REASON_BARE,
+};
+
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);
+void fsm_settings__set_incompatible(struct repository *r,
+ enum fsmonitor_reason reason);
enum fsmonitor_mode fsm_settings__get_mode(struct repository *r);
const char *fsm_settings__get_hook_path(struct repository *r);
+enum fsmonitor_reason fsm_settings__get_reason(struct repository *r);
+char *fsm_settings__get_incompatible_msg(const struct repository *r,
+ enum fsmonitor_reason reason);
+
struct fsmonitor_settings;
#endif /* FSMONITOR_SETTINGS_H */