diff options
author | Jeff Hostetler <jeffhost@microsoft.com> | 2022-05-27 00:46:58 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-05-27 01:59:26 +0300 |
commit | 62a62a28308453ee830bb7e02cf732474a6e01a5 (patch) | |
tree | bb7a65a5e3e244b804a4089cb984d506b3e2736a /fsmonitor-settings.h | |
parent | 49b398a970f6efa368114330da23ae69aeeb9c60 (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.h | 16 |
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 */ |