@@ -62,22 +62,50 @@ core.protectNTFS::
62
62
Defaults to `true` on Windows, and `false` elsewhere.
63
63
64
64
core.fsmonitor::
65
- If set, the value of this variable is used as a command which
66
- will identify all files that may have changed since the
67
- requested date/time. This information is used to speed up git by
68
- avoiding unnecessary processing of files that have not changed.
69
- See the "fsmonitor-watchman" section of linkgit:githooks[5].
65
+ If set, this variable contains the pathname of the "fsmonitor"
66
+ hook command.
67
+ +
68
+ This hook command is used to identify all files that may have changed
69
+ since the requested date/time. This information is used to speed up
70
+ git by avoiding unnecessary scanning of files that have not changed.
71
+ +
72
+ See the "fsmonitor-watchman" section of linkgit:githooks[5].
73
+ +
74
+ Note: The value of this config setting is ignored if the
75
+ built-in file system monitor is enabled (see `core.useBuiltinFSMonitor`).
70
76
71
77
core.fsmonitorHookVersion::
72
- Sets the version of hook that is to be used when calling fsmonitor.
73
- There are currently versions 1 and 2. When this is not set,
74
- version 2 will be tried first and if it fails then version 1
75
- will be tried. Version 1 uses a timestamp as input to determine
76
- which files have changes since that time but some monitors
77
- like watchman have race conditions when used with a timestamp.
78
- Version 2 uses an opaque string so that the monitor can return
79
- something that can be used to determine what files have changed
80
- without race conditions.
78
+ Sets the protocol version to be used when invoking the
79
+ "fsmonitor" hook.
80
+ +
81
+ There are currently versions 1 and 2. When this is not set,
82
+ version 2 will be tried first and if it fails then version 1
83
+ will be tried. Version 1 uses a timestamp as input to determine
84
+ which files have changes since that time but some monitors
85
+ like Watchman have race conditions when used with a timestamp.
86
+ Version 2 uses an opaque string so that the monitor can return
87
+ something that can be used to determine what files have changed
88
+ without race conditions.
89
+ +
90
+ Note: The value of this config setting is ignored if the
91
+ built-in file system monitor is enabled (see `core.useBuiltinFSMonitor`).
92
+
93
+ core.useBuiltinFSMonitor::
94
+ If set to true, enable the built-in file system monitor
95
+ daemon for this working directory (linkgit:git-fsmonitor--daemon[1]).
96
+ +
97
+ Like hook-based file system monitors, the built-in file system monitor
98
+ can speed up Git commands that need to refresh the Git index
99
+ (e.g. `git status`) in a working directory with many files. The
100
+ built-in monitor eliminates the need to install and maintain an
101
+ external third-party tool.
102
+ +
103
+ The built-in file system monitor is currently available only on a
104
+ limited set of supported platforms. Currently, this includes Windows
105
+ and MacOS.
106
+ +
107
+ Note: if this config setting is set to `true`, the values of
108
+ `core.fsmonitor` and `core.fsmonitorHookVersion` are ignored.
81
109
82
110
core.trustctime::
83
111
If false, the ctime differences between the index and the
0 commit comments