summaryrefslogtreecommitdiff
path: root/fsmonitor-settings.c
diff options
context:
space:
mode:
authorJeff Hostetler <jeffhost@microsoft.com>2022-05-26 21:47:00 (GMT)
committerJunio C Hamano <gitster@pobox.com>2022-05-26 22:59:26 (GMT)
commit5c58fbd26579391d825cb1ef0df8703bd6fd0ed5 (patch)
tree9ce88463c9cfbb857aea9b8a0920426525a7092c /fsmonitor-settings.c
parentd33c804daec8aaf1e8af187c00166ef4cb017262 (diff)
downloadgit-5c58fbd26579391d825cb1ef0df8703bd6fd0ed5.zip
git-5c58fbd26579391d825cb1ef0df8703bd6fd0ed5.tar.gz
git-5c58fbd26579391d825cb1ef0df8703bd6fd0ed5.tar.bz2
fsmonitor-settings: VFS for Git virtual repos are incompatible
VFS for Git virtual repositories are incompatible with FSMonitor. VFS for Git is a downstream fork of Git. It contains its own custom file system watcher that is aware of the virtualization. If a working directory is being managed by VFS for Git, we should not try to watch it because we may get incomplete results. We do not know anything about how VFS for Git works, but we do know that VFS for Git working directories contain a well-defined config setting. If it is set, mark the working directory as incompatible. Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'fsmonitor-settings.c')
-rw-r--r--fsmonitor-settings.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/fsmonitor-settings.c b/fsmonitor-settings.c
index f67db91..600ae16 100644
--- a/fsmonitor-settings.c
+++ b/fsmonitor-settings.c
@@ -207,6 +207,12 @@ char *fsm_settings__get_incompatible_msg(const struct repository *r,
_("bare repository '%s' is incompatible with fsmonitor"),
xgetcwd());
goto done;
+
+ case FSMONITOR_REASON_VFS4GIT:
+ strbuf_addf(&msg,
+ _("virtual repository '%s' is incompatible with fsmonitor"),
+ r->worktree);
+ goto done;
}
BUG("Unhandled case in fsm_settings__get_incompatible_msg: '%d'",