Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace FSMonitor v2 with v4 #3350

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
cafc71c
simple-ipc: preparations for supporting binary messages.
jeffhostetler Apr 20, 2021
5db2c03
fsmonitor--daemon: man page
jeffhostetler May 11, 2021
86413bf
fsmonitor--daemon: update fsmonitor documentation
jeffhostetler May 11, 2021
dfcd3e5
fsmonitor-ipc: create client routines for git-fsmonitor--daemon
jeffhostetler May 12, 2021
0aaca2f
help: include fsmonitor--daemon feature flag in version info
jeffhostetler May 12, 2021
0a756b2
fsmonitor: config settings are repository-specific
jeffhostetler Mar 5, 2021
d8f3684
fsmonitor: use IPC to query the builtin FSMonitor daemon
jeffhostetler Aug 2, 2019
c92b348
fsmonitor--daemon: add a built-in fsmonitor daemon
jeffhostetler Dec 16, 2020
b137b62
fsmonitor--daemon: implement 'stop' and 'status' commands
jeffhostetler Dec 16, 2020
4e81f9b
t/helper/fsmonitor-client: create IPC client to talk to FSMonitor Daemon
jeffhostetler May 11, 2021
91b26cc
fsm-listen-win32: stub in backend for Windows
jeffhostetler Dec 17, 2020
59bf746
fsm-listen-darwin: stub in backend for Darwin
jeffhostetler Dec 17, 2020
7215c5a
fsmonitor--daemon: implement 'run' command
jeffhostetler Jun 29, 2021
f7a8c02
fsmonitor--daemon: implement 'start' command
jeffhostetler Jun 29, 2021
6e79621
fsmonitor--daemon: do not try to operate on bare repos
jeffhostetler Jun 23, 2021
e43cdc6
fsmonitor--daemon: add pathname classification
jeffhostetler Dec 17, 2020
89f8b1f
fsmonitor--daemon: define token-ids
jeffhostetler Dec 17, 2020
30c5a1a
fsmonitor--daemon: create token-based changed path cache
jeffhostetler Dec 17, 2020
95ec3cb
fsm-listen-win32: implement FSMonitor backend on Windows
jeffhostetler Dec 17, 2020
0cb2407
fsm-listen-darwin: add macos header files for FSEvent
jeffhostetler Dec 18, 2020
f8ef89c
fsm-listen-darwin: implement FSEvent listener on MacOS
jeffhostetler Dec 18, 2020
c719062
fsmonitor--daemon: implement handle_client callback
jeffhostetler Dec 18, 2020
079e66e
t/helper/test-chmtime: skip directories on Windows
jeffhostetler Jul 20, 2021
15b84ce
t/perf/p7519: speed up test on Windows
jeffhostetler Jul 20, 2021
e2756ee
t/perf: avoid copying builtin fsmonitor files into test repo
jeffhostetler Apr 21, 2021
4260225
t/perf/p7519: add fsmonitor--daemon test cases
jeffhostetler Jan 15, 2021
b23d8be
t7527: create test for fsmonitor--daemon
jeffhostetler Dec 18, 2020
87bf95d
fsmonitor--daemon: periodically truncate list of modified files
jeffhostetler Dec 18, 2020
56056fc
fsmonitor--daemon: use a cookie file to sync with file system
jeffhostetler Dec 18, 2020
1ec372a
fsmonitor: enhance existing comments
jeffhostetler May 19, 2021
a7088d5
fsmonitor: force update index after large responses
jeffhostetler May 19, 2021
7adc66d
t7527: test status with untracked-cache and fsmonitor--daemon
jeffhostetler Mar 1, 2021
4005824
fsmonitor: handle shortname for .git
jeffhostetler Jun 25, 2021
67a44fb
t7527: test FS event reporing on MacOS WRT case and Unicode
jeffhostetler Jun 30, 2021
e1055f3
t7527: test builtin FSMonitor watching repos with unicode paths
jeffhostetler Jul 12, 2021
e024c75
t/helper/fsmonitor-client: create stress test
jeffhostetler Jul 27, 2021
8956648
ipc-win32: add trace2 debugging
jeffhostetler Jul 28, 2021
ff00eee
fsmonitor-settings: stub in platform-specific incompatibility checking
jeffhostetler Jul 29, 2021
d2ed07d
fsmonitor-settings: virtual repos are incompatible with FSMonitor
jeffhostetler Aug 2, 2021
cc72760
fsmonitor--daemon: background daemon must free the console on windows
jeffhostetler Aug 3, 2021
d78e513
fsmonitor-settings: stub in platform-specific incompatibility checkin…
jeffhostetler Aug 4, 2021
2c799a2
fsmonitor-settings: remote repos on MacOS are incompatible with FSMon…
jeffhostetler Aug 4, 2021
12625c0
fsmonitor-settings: remote repos on Windows are incompatible with FSM…
jeffhostetler Aug 5, 2021
d9811c0
fixup! Merge pull request #3236 from dscho/no-fsmonitor-in-bare-repos
dscho Aug 5, 2021
60b34f7
fixup! mingw: support long paths
dscho Aug 5, 2021
a0cc234
fixup! Merge pull request #3234 from dscho/fsmonitor-v2
dscho Aug 5, 2021
e78851a
fsmonitor: mark the built-in FSMonitor as experimental
dscho Mar 5, 2021
bc52384
Merge branch 'builtin-fsmonitor' (preview of V4)
jeffhostetler Aug 5, 2021
8a9b342
Enable the built-in FSMonitor as an experimental feature
dscho Mar 5, 2021
bcf4d40
Merge feature.experimental markups for GFW preview
jeffhostetler Aug 5, 2021
56a0141
fixup! mingw: support long paths
dscho Aug 5, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 17 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -473,8 +473,13 @@ all::
#
# If your platform supports a built-in fsmonitor backend, set
# FSMONITOR_DAEMON_BACKEND to the "<name>" of the corresponding
# `compat/fsmonitor/fsmonitor-fs-listen-<name>.c` that implements the
# `fsmonitor_fs_listen__*()` routines.
# `compat/fsmonitor/fsm-listen-<name>.c` that implements the
# `fsm_listen__*()` routines.
#
# If your platform has os-specific ways to tell if a repo is incompatible with
# fsmonitor (whether the hook or ipc daemon version), set FSMONITOR_OS_SETTINGS
# to the "<name>" of the corresponding `compat/fsmonitor/fsm-settings-<name>.c`
# that implements the `fsm_os_settings__*()` routines.
#
# Define DEVELOPER to enable more compiler warnings. Compiler version
# and family are auto detected, but could be overridden by defining
Expand Down Expand Up @@ -909,6 +914,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
Expand Down Expand Up @@ -1946,7 +1952,12 @@ endif

ifdef FSMONITOR_DAEMON_BACKEND
COMPAT_CFLAGS += -DHAVE_FSMONITOR_DAEMON_BACKEND
COMPAT_OBJS += compat/fsmonitor/fsmonitor-fs-listen-$(FSMONITOR_DAEMON_BACKEND).o
COMPAT_OBJS += compat/fsmonitor/fsm-listen-$(FSMONITOR_DAEMON_BACKEND).o
endif

ifdef FSMONITOR_OS_SETTINGS
COMPAT_CFLAGS += -DHAVE_FSMONITOR_OS_SETTINGS
COMPAT_OBJS += compat/fsmonitor/fsm-settings-$(FSMONITOR_OS_SETTINGS).o
endif

ifeq ($(TCLTK_PATH),)
Expand Down Expand Up @@ -2833,6 +2844,9 @@ GIT-BUILD-OPTIONS: FORCE
ifdef FSMONITOR_DAEMON_BACKEND
@echo FSMONITOR_DAEMON_BACKEND=\''$(subst ','\'',$(subst ','\'',$(FSMONITOR_DAEMON_BACKEND)))'\' >>$@+
endif
ifdef FSMONITOR_OS_SETTINGS
@echo FSMONITOR_OS_SETTINGS=\''$(subst ','\'',$(subst ','\'',$(FSMONITOR_OS_SETTINGS)))'\' >>$@+
endif
ifdef TEST_OUTPUT_DIRECTORY
@echo TEST_OUTPUT_DIRECTORY=\''$(subst ','\'',$(subst ','\'',$(TEST_OUTPUT_DIRECTORY)))'\' >>$@+
endif
Expand Down
Loading