git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 01/23] fsmonitor--daemon: man page and documentation

From
Derrick Stolee <stolee@gmail.com>
Date
Apr 26, 2021, 14:13 UTC
Message-ID
<b868522c-f07f-c431-aa2c-14af84015ced@gmail.com>
In-Reply-To
<074273330f8d6c656dfec7c8778fad20314c6ad1.1617291666.git.gitgitgadget@gmail.com>
On 4/1/21 11:40 AM, Jeff Hostetler via GitGitGadget wrote:
Show 6 quoted lines
> From: Jeff Hostetler <jeffhost@microsoft.com>
> 
> Create a manual page describing the `git fsmonitor--daemon` feature.
> 
> Update references to `core.fsmonitor`, `core.fsmonitorHookVersion` and
> pointers to `watchman` to mention the built-in FSMonitor.

Make sense to add clarity here, since there will be new ways to interact with a fileystem monitor.

Show 21 quoted lines
>  core.fsmonitorHookVersion::
> -	Sets the version of hook that is to be used when calling fsmonitor.
> -	There are currently versions 1 and 2. When this is not set,
> -	version 2 will be tried first and if it fails then version 1
> -	will be tried. Version 1 uses a timestamp as input to determine
> -	which files have changes since that time but some monitors
> -	like watchman have race conditions when used with a timestamp.
> -	Version 2 uses an opaque string so that the monitor can return
> -	something that can be used to determine what files have changed
> -	without race conditions.
> +	Sets the version of hook that is to be used when calling the
> +	FSMonitor hook (as configured via `core.fsmonitor`).
> ++
> +There are currently versions 1 and 2. When this is not set,
> +version 2 will be tried first and if it fails then version 1
> +will be tried. Version 1 uses a timestamp as input to determine
> +which files have changes since that time but some monitors
> +like watchman have race conditions when used with a timestamp.
> +Version 2 uses an opaque string so that the monitor can return
> +something that can be used to determine what files have changed
> +without race conditions.

This initially seemed like a big edit, but you just split the single paragraph into multiple, with a better leading sentence and a final statement about the built-in FSMonitor. Good.

Show 15 quoted lines
> ++
> +Note: FSMonitor hooks (and this config setting) are ignored if the
> +built-in FSMonitor is enabled (see `core.useBuiltinFSMonitor`).
> +
> +core.useBuiltinFSMonitor::
> +	If set to true, enable the built-in filesystem event watcher (for
> +	technical details, see linkgit:git-fsmonitor--daemon[1]).
> ++
> +Like external (hook-based) FSMonitors, the built-in FSMonitor can speed up
> +Git commands that need to refresh the Git index (e.g. `git status`) in a
> +worktree with many files. The built-in FSMonitor facility eliminates the
> +need to install and maintain an external third-party monitoring tool.
> ++
> +The built-in FSMonitor is currently available only on a limited set of
> +supported platforms.

Is there a way for users to know this set of platforms? Can they run a command to find out? Will 'git fsmonitor--daemon --start' send a helpful message to assist here? Or, could there be a 'git fsmonitor--daemon --test' command?

> +Note: if this config setting is set to `true`, any FSMonitor hook
> +configured via `core.fsmonitor` (and possibly `core.fsmonitorHookVersion`)
> +is ignored.
...
Show 18 quoted lines
> +git-fsmonitor--daemon(1)
> +========================
> +
> +NAME
> +----
> +git-fsmonitor--daemon - Builtin file system monitor daemon
> +
> +SYNOPSIS
> +--------
> +[verse]
> +'git fsmonitor--daemon' --start
> +'git fsmonitor--daemon' --run
> +'git fsmonitor--daemon' --stop
> +'git fsmonitor--daemon' --is-running
> +'git fsmonitor--daemon' --is-supported
> +'git fsmonitor--daemon' --query <token>
> +'git fsmonitor--daemon' --query-index
> +'git fsmonitor--daemon' --flush

These arguments with the "--" prefix make it seem like they are options that could be grouped together, but you really want these to be verbs within the daemon. What do you think about removing the "--" prefixes?

Show 13 quoted lines
> +
> +DESCRIPTION
> +-----------
> +
> +Monitors files and directories in the working directory for changes using
> +platform-specific file system notification facilities.
> +
> +It communicates directly with commands like `git status` using the
> +link:technical/api-simple-ipc.html[simple IPC] interface instead of
> +the slower linkgit:githooks[5] interface.
> +
> +OPTIONS
> +-------

I typically view "OPTIONS" as arguments that can be grouped together, but you are describing things more like verbs or subcommands. The most recent example I know about is 'git maintenance <subcommand>', documented at [1].

[1] https://git-scm.com/docs/git-maintenance#_subcommands
Show 10 quoted lines
> +
> +--start::
> +	Starts the fsmonitor daemon in the background.
> +
> +--run::
> +	Runs the fsmonitor daemon in the foreground.
> +
> +--stop::
> +	Stops the fsmonitor daemon running for the current working
> +	directory, if present.

I'm noticing "fsmonitor" in lowercase throughout this document. Is that the intended case for user-facing documentation? I've been seeing "FS Monitor", "filesystem monitor", or even "File System Monitor" in other places.

> +--is-running::
> +	Exits with zero status if the fsmonitor daemon is watching the
> +	current working directory.
Another potential name for this verb is "status".
> +--is-supported::
> +	Exits with zero status if the fsmonitor daemon feature is supported
> +	on this platform.

Ah, here is an indicator of whether the platform is supported. Please include details for this command in the earlier documentation. I'll check later to see if a message is also sent over 'stderr', which would be helpful. Documenting the exit status is good for third-party tools that might use this.

Show 10 quoted lines
> +--query <token>::
> +	Connects to the fsmonitor daemon (starting it if necessary) and
> +	requests the list of changed files and directories since the
> +	given token.
> +	This is intended for testing purposes.
> +
> +--query-index::
> +	Read the current `<token>` from the File System Monitor index
> +	extension (if present) and use it to query the fsmonitor daemon.
> +	This is intended for testing purposes.

These two could be grouped as "query [--token=X|--index]", especially because they are for testing purposes.

Show 5 quoted lines
> +
> +--flush::
> +	Force the fsmonitor daemon to flush its in-memory cache and
> +	re-sync with the file system.
> +	This is intended for testing purposes.

Do you see benefits to these being available in the CLI? Could these be better served as a test helper?

Show 34 quoted lines
> +REMARKS
> +-------
> +The fsmonitor daemon is a long running process that will watch a single
> +working directory.  Commands, such as `git status`, should automatically
> +start it (if necessary) when `core.useBuiltinFSMonitor` is set to `true`
> +(see linkgit:git-config[1]).
> +
> +Configure the built-in FSMonitor via `core.useBuiltinFSMonitor` in each
> +working directory separately, or globally via `git config --global
> +core.useBuiltinFSMonitor true`.
> +
> +Tokens are opaque strings.  They are used by the fsmonitor daemon to
> +mark a point in time and the associated internal state.  Callers should
> +make no assumptions about the content of the token.  In particular,
> +the should not assume that it is a timestamp.
> +
> +Query commands send a request-token to the daemon and it responds with
> +a summary of the changes that have occurred since that token was
> +created.  The daemon also returns a response-token that the client can
> +use in a future query.
> +
> +For more information see the "File System Monitor" section in
> +linkgit:git-update-index[1].
> +
> +CAVEATS
> +-------
> +
> +The fsmonitor daemon does not currently know about submodules and does
> +not know to filter out file system events that happen within a
> +submodule.  If fsmonitor daemon is watching a super repo and a file is
> +modified within the working directory of a submodule, it will report
> +the change (as happening against the super repo).  However, the client
> +should properly ignore these extra events, so performance may be affected
> +but it should not cause an incorrect result.

There are several uses of the word "should" where I think "will" is a more appropriate word. That is, unless we do not actually have confidence in this behavior.

Show 27 quoted lines
> --- a/Documentation/git-update-index.txt
> +++ b/Documentation/git-update-index.txt
> @@ -498,7 +498,9 @@ FILE SYSTEM MONITOR
>  This feature is intended to speed up git operations for repos that have
>  large working directories.
>  
> -It enables git to work together with a file system monitor (see the
> +It enables git to work together with a file system monitor (see
> +linkgit:git-fsmonitor--daemon[1]
> +and the
>  "fsmonitor-watchman" section of linkgit:githooks[5]) that can
>  inform it as to what files have been modified. This enables git to avoid
>  having to lstat() every file to find modified files.
> diff --git a/Documentation/githooks.txt b/Documentation/githooks.txt
> index b51959ff9418..b7d5e926f7b0 100644
> --- a/Documentation/githooks.txt
> +++ b/Documentation/githooks.txt
> @@ -593,7 +593,8 @@ fsmonitor-watchman
>  
>  This hook is invoked when the configuration option `core.fsmonitor` is
>  set to `.git/hooks/fsmonitor-watchman` or `.git/hooks/fsmonitor-watchmanv2`
> -depending on the version of the hook to use.
> +depending on the version of the hook to use, unless overridden via
> +`core.useBuiltinFSMonitor` (see linkgit:git-config[1]).
>  
>  Version 1 takes two arguments, a version (1) and the time in elapsed
>  nanoseconds since midnight, January 1, 1970.
These are good connections to make.

Since the documentation for the fsmonitor--daemon is so deep, this patch might be served well to split into two: one that just documents the daemon, and another that updates existing documentation to point to the new file.

This does provide a good basis for me to investigate during the rest of the review.

Thanks, -Stolee

Previous: Jeff Hostetler via GitGitGadgetNext: Jeff Hostetler
Message 78 of 237 in “[RFC] Builtin FSMonitor Feature”
  1. 00/23 [RFC] Builtin FSMonitor FeatureJeff Hostetler via GitGitGadget, Apr 1, 2021
  2. 17/23 fsmonitor--daemon: periodically truncate list of modified filesJeff Hostetler via GitGitGadget, Apr 1, 2021
  3. Derrick StoleeApr 27, 2021
  4. 14/23 fsmonitor-fs-listen-macos: add macos header files for FSEventJeff Hostetler via GitGitGadget, Apr 1, 2021
  5. Derrick StoleeApr 27, 2021
  6. 06/23 fsmonitor--daemon: implement client command optionsJeff Hostetler via GitGitGadget, Apr 1, 2021
  7. Derrick StoleeApr 26, 2021
  8. Jeff HostetlerApr 30, 2021
  9. 20/23 fsmonitor: force update index when fsmonitor token advancesJeff Hostetler via GitGitGadget, Apr 1, 2021
  10. Derrick StoleeApr 27, 2021
  11. 19/23 fsmonitor--daemon: use a cookie file to sync with file systemJeff Hostetler via GitGitGadget, Apr 1, 2021
  12. Derrick StoleeApr 27, 2021
  13. Jeff HostetlerMay 3, 2021
  14. 02/23 fsmonitor-ipc: create client routines for git-fsmonitor--daemonJeff Hostetler via GitGitGadget, Apr 1, 2021
  15. Derrick StoleeApr 26, 2021
  16. Eric SunshineApr 26, 2021
  17. Derrick StoleeApr 26, 2021
  18. Jeff HostetlerApr 28, 2021
  19. 04/23 fsmonitor: introduce `core.useBuiltinFSMonitor` to call the daemon via IPCJohannes Schindelin via GitGitGadget, Apr 1, 2021
  20. Derrick StoleeApr 26, 2021
  21. Ævar Arnfjörð BjarmasonApr 27, 2021
  22. Derrick StoleeApr 27, 2021
  23. Ævar Arnfjörð BjarmasonApr 28, 2021
  24. repo-settings.c: simplify the setupÆvar Arnfjörð Bjarmason, Apr 28, 2021
  25. Nesting topics within other threads (was: [PATCH] repo-settings.c: simplify the setup)Derrick Stolee, Apr 28, 2021
  26. Ævar Arnfjörð BjarmasonApr 28, 2021
  27. Johannes SchindelinMay 5, 2021
  28. Junio C HamanoApr 29, 2021
  29. Ævar Arnfjörð BjarmasonApr 29, 2021
  30. Jeff KingApr 29, 2021
  31. Junio C HamanoApr 30, 2021
  32. Jeff HostetlerApr 30, 2021
  33. 15/23 fsmonitor-fs-listen-macos: implement FSEvent listener on MacOSJeff Hostetler via GitGitGadget, Apr 1, 2021
  34. Derrick StoleeApr 27, 2021
  35. Jeff HostetlerApr 30, 2021
  36. 12/23 fsmonitor--daemon: create token-based changed path cacheJeff Hostetler via GitGitGadget, Apr 1, 2021
  37. Derrick StoleeApr 26, 2021
  38. Jeff HostetlerApr 30, 2021
  39. 09/23 fsmonitor--daemon: implement daemon command optionsJeff Hostetler via GitGitGadget, Apr 1, 2021
  40. Derrick StoleeApr 26, 2021
  41. Derrick StoleeApr 26, 2021
  42. Jeff HostetlerApr 30, 2021
  43. Jeff HostetlerApr 30, 2021
  44. 11/23 fsmonitor--daemon: define token-idsJeff Hostetler via GitGitGadget, Apr 1, 2021
  45. Derrick StoleeApr 26, 2021
  46. Eric SunshineApr 26, 2021
  47. Derrick StoleeApr 26, 2021
  48. Jeff HostetlerApr 30, 2021
  49. 23/23 t7527: test status with untracked-cache and fsmonitor--daemonJeff Hostetler via GitGitGadget, Apr 1, 2021
  50. Derrick StoleeApr 27, 2021
  51. 21/23 t7527: create test for fsmonitor--daemonJeff Hostetler via GitGitGadget, Apr 1, 2021
  52. Derrick StoleeApr 27, 2021
  53. 16/23 fsmonitor--daemon: implement handle_client callbackJeff Hostetler via GitGitGadget, Apr 1, 2021
  54. Derrick StoleeApr 26, 2021
  55. Jeff HostetlerMay 3, 2021
  56. Derrick StoleeMay 13, 2021
  57. 05/23 fsmonitor--daemon: add a built-in fsmonitor daemonJeff Hostetler via GitGitGadget, Apr 1, 2021
  58. Derrick StoleeApr 26, 2021
  59. Derrick StoleeApr 26, 2021
  60. Jeff HostetlerApr 30, 2021
  61. 08/23 fsmonitor-fs-listen-macos: stub in backend for MacOSJeff Hostetler via GitGitGadget, Apr 1, 2021
  62. 18/23 fsmonitor--daemon:: introduce client delay for testingJeff Hostetler via GitGitGadget, Apr 1, 2021
  63. Derrick StoleeApr 27, 2021
  64. 13/23 fsmonitor-fs-listen-win32: implement FSMonitor backend on WindowsJeff Hostetler via GitGitGadget, Apr 1, 2021
  65. Derrick StoleeApr 27, 2021
  66. Eric SunshineApr 27, 2021
  67. Jeff HostetlerApr 30, 2021
  68. 22/23 p7519: add fsmonitor--daemonJeff Hostetler via GitGitGadget, Apr 1, 2021
  69. Derrick StoleeApr 27, 2021
  70. 10/23 fsmonitor--daemon: add pathname classificationJeff Hostetler via GitGitGadget, Apr 1, 2021
  71. Derrick StoleeApr 26, 2021
  72. Eric SunshineApr 26, 2021
  73. Derrick StoleeApr 26, 2021
  74. 03/23 config: FSMonitor is repository-specificJohannes Schindelin via GitGitGadget, Apr 1, 2021
  75. 07/23 fsmonitor-fs-listen-win32: stub in backend for WindowsJeff Hostetler via GitGitGadget, Apr 1, 2021
  76. Derrick StoleeApr 26, 2021
  77. 01/23 fsmonitor--daemon: man page and documentationJeff Hostetler via GitGitGadget, Apr 1, 2021
  78. Derrick StoleeApr 26, 2021
  79. Jeff HostetlerApr 28, 2021
  80. Junio C HamanoApr 16, 2021
  81. Johannes SchindelinApr 20, 2021
  82. Jeff HostetlerApr 20, 2021
  83. Derrick StoleeApr 21, 2021
  84. FS Monitor Windows Performance (was [PATCH 00/23] [RFC] Builtin FSMonitor Feature)Derrick Stolee, Apr 27, 2021
  85. FS Monitor macOS Performance (was [PATCH 00/23] [RFC] Builtin FSMonitor Feature)Derrick Stolee, Apr 27, 2021
  86. 00/28 Builtin FSMonitor FeatureJeff Hostetler via GitGitGadget, May 22, 2021
  87. 01/28 simple-ipc: preparations for supporting binary messages.Jeff Hostetler via GitGitGadget, May 22, 2021
  88. 05/28 help: include fsmonitor--daemon feature flag in version infoJeff Hostetler via GitGitGadget, May 22, 2021
  89. 03/28 fsmonitor--daemon: update fsmonitor documentationJeff Hostetler via GitGitGadget, May 22, 2021
  90. 02/28 fsmonitor--daemon: man pageJeff Hostetler via GitGitGadget, May 22, 2021
  91. 04/28 fsmonitor-ipc: create client routines for git-fsmonitor--daemonJeff Hostetler via GitGitGadget, May 22, 2021
  92. Johannes SchindelinJun 2, 2021
  93. Johannes SchindelinJun 14, 2021
  94. 06/28 config: FSMonitor is repository-specificJohannes Schindelin via GitGitGadget, May 22, 2021
  95. 08/28 fsmonitor--daemon: add a built-in fsmonitor daemonJeff Hostetler via GitGitGadget, May 22, 2021
  96. 07/28 fsmonitor: introduce `core.useBuiltinFSMonitor` to call the daemon via IPCJohannes Schindelin via GitGitGadget, May 22, 2021
  97. Johannes SchindelinJun 14, 2021
  98. 09/28 fsmonitor--daemon: implement client command optionsJeff Hostetler via GitGitGadget, May 22, 2021
  99. 10/28 t/helper/fsmonitor-client: create IPC client to talk to FSMonitor DaemonJeff Hostetler via GitGitGadget, May 22, 2021
  100. Junio C HamanoJun 11, 2021
  101. 12/28 fsmonitor-fs-listen-macos: stub in backend for MacOSJeff Hostetler via GitGitGadget, May 22, 2021
  102. 11/28 fsmonitor-fs-listen-win32: stub in backend for WindowsJeff Hostetler via GitGitGadget, May 22, 2021
  103. 13/28 fsmonitor--daemon: implement daemon command optionsJeff Hostetler via GitGitGadget, May 22, 2021
  104. 14/28 fsmonitor--daemon: add pathname classificationJeff Hostetler via GitGitGadget, May 22, 2021
  105. 17/28 fsmonitor-fs-listen-win32: implement FSMonitor backend on WindowsJeff Hostetler via GitGitGadget, May 22, 2021
  106. 16/28 fsmonitor--daemon: create token-based changed path cacheJeff Hostetler via GitGitGadget, May 22, 2021
  107. 15/28 fsmonitor--daemon: define token-idsJeff Hostetler via GitGitGadget, May 22, 2021
  108. 24/28 fsmonitor: force update index after large responsesJeff Hostetler via GitGitGadget, May 22, 2021
  109. 20/28 fsmonitor--daemon: implement handle_client callbackJeff Hostetler via GitGitGadget, May 22, 2021
  110. 21/28 fsmonitor--daemon: periodically truncate list of modified filesJeff Hostetler via GitGitGadget, May 22, 2021
  111. 19/28 fsmonitor-fs-listen-macos: implement FSEvent listener on MacOSJeff Hostetler via GitGitGadget, May 22, 2021
  112. 18/28 fsmonitor-fs-listen-macos: add macos header files for FSEventJeff Hostetler via GitGitGadget, May 22, 2021
  113. 23/28 fsmonitor: enhance existing commentsJeff Hostetler via GitGitGadget, May 22, 2021
  114. 22/28 fsmonitor--daemon: use a cookie file to sync with file systemJeff Hostetler via GitGitGadget, May 22, 2021
  115. Johannes SchindelinJun 14, 2021
  116. 25/28 t7527: create test for fsmonitor--daemonJeff Hostetler via GitGitGadget, May 22, 2021
  117. 26/28 p7519: add fsmonitor--daemonJeff Hostetler via GitGitGadget, May 22, 2021
  118. 27/28 t7527: test status with untracked-cache and fsmonitor--daemonJeff Hostetler via GitGitGadget, May 22, 2021
  119. 28/28 t/perf: avoid copying builtin fsmonitor files into test repoJeff Hostetler via GitGitGadget, May 22, 2021
  120. Junio C HamanoMay 27, 2021
  121. Johannes SchindelinJun 2, 2021
  122. Jeff HostetlerJun 22, 2021
  123. 00/34 Builtin FSMonitor FeatureJeff Hostetler via GitGitGadget, Jul 1, 2021
  124. 02/34 fsmonitor--daemon: man pageJeff Hostetler via GitGitGadget, Jul 1, 2021
  125. Ævar Arnfjörð BjarmasonJul 1, 2021
  126. Johannes SchindelinJul 5, 2021
  127. Jeff HostetlerJul 12, 2021
  128. Ævar Arnfjörð BjarmasonJul 13, 2021
  129. Johannes SchindelinJul 16, 2021
  130. Felipe ContrerasJul 16, 2021
  131. 01/34 simple-ipc: preparations for supporting binary messages.Jeff Hostetler via GitGitGadget, Jul 1, 2021
  132. 04/34 fsmonitor-ipc: create client routines for git-fsmonitor--daemonJeff Hostetler via GitGitGadget, Jul 1, 2021
  133. 05/34 help: include fsmonitor--daemon feature flag in version infoJeff Hostetler via GitGitGadget, Jul 1, 2021
  134. 03/34 fsmonitor--daemon: update fsmonitor documentationJeff Hostetler via GitGitGadget, Jul 1, 2021
  135. Ævar Arnfjörð BjarmasonJul 1, 2021
  136. 07/34 fsmonitor: use IPC to query the builtin FSMonitor daemonJeff Hostetler via GitGitGadget, Jul 1, 2021
  137. 08/34 fsmonitor--daemon: add a built-in fsmonitor daemonJeff Hostetler via GitGitGadget, Jul 1, 2021
  138. Ævar Arnfjörð BjarmasonJul 1, 2021
  139. Jeff HostetlerJul 19, 2021
  140. 06/34 fsmonitor: config settings are repository-specificJeff Hostetler via GitGitGadget, Jul 1, 2021
  141. Ævar Arnfjörð BjarmasonJul 1, 2021
  142. Jeff HostetlerJul 19, 2021
  143. 09/34 fsmonitor--daemon: implement 'stop' and 'status' commandsJeff Hostetler via GitGitGadget, Jul 1, 2021
  144. 11/34 fsmonitor-fs-listen-win32: stub in backend for WindowsJeff Hostetler via GitGitGadget, Jul 1, 2021
  145. Ævar Arnfjörð BjarmasonJul 1, 2021
  146. Johannes SchindelinJul 16, 2021
  147. Ævar Arnfjörð BjarmasonJul 16, 2021
  148. Junio C HamanoJul 17, 2021
  149. Junio C HamanoJul 17, 2021
  150. Ævar Arnfjörð BjarmasonJul 17, 2021
  151. Junio C HamanoJul 19, 2021
  152. Felipe ContrerasJul 16, 2021
  153. Jeff HostetlerJul 19, 2021
  154. Ævar Arnfjörð BjarmasonJul 20, 2021
  155. 13/34 fsmonitor--daemon: implement 'run' commandJeff Hostetler via GitGitGadget, Jul 1, 2021
  156. 10/34 t/helper/fsmonitor-client: create IPC client to talk to FSMonitor DaemonJeff Hostetler via GitGitGadget, Jul 1, 2021
  157. Ævar Arnfjörð BjarmasonJul 1, 2021
  158. 12/34 fsmonitor-fs-listen-macos: stub in backend for MacOSJeff Hostetler via GitGitGadget, Jul 1, 2021
  159. Ævar Arnfjörð BjarmasonJul 1, 2021
  160. Johannes SchindelinJul 16, 2021
  161. Ævar Arnfjörð BjarmasonJul 16, 2021
  162. Johannes SchindelinJul 26, 2021
  163. Junio C HamanoJul 26, 2021
  164. Jeff HostetlerJul 27, 2021
  165. Ævar Arnfjörð BjarmasonJul 27, 2021
  166. Junio C HamanoJul 27, 2021
  167. Felipe ContrerasJul 27, 2021
  168. 14/34 fsmonitor--daemon: implement 'start' commandJeff Hostetler via GitGitGadget, Jul 1, 2021
  169. Ævar Arnfjörð BjarmasonJul 1, 2021
  170. Johannes SchindelinJul 5, 2021
  171. Jeff HostetlerJul 13, 2021
  172. Ævar Arnfjörð BjarmasonJul 13, 2021
  173. Jeff HostetlerJul 13, 2021
  174. Ævar Arnfjörð BjarmasonJul 20, 2021
  175. 15/34 fsmonitor: do not try to operate on bare reposJeff Hostetler via GitGitGadget, Jul 1, 2021
  176. Ævar Arnfjörð BjarmasonJul 1, 2021
  177. 16/34 fsmonitor--daemon: add pathname classificationJeff Hostetler via GitGitGadget, Jul 1, 2021
  178. 18/34 fsmonitor--daemon: create token-based changed path cacheJeff Hostetler via GitGitGadget, Jul 1, 2021
  179. 17/34 fsmonitor--daemon: define token-idsJeff Hostetler via GitGitGadget, Jul 1, 2021
  180. Ævar Arnfjörð BjarmasonJul 1, 2021
  181. Jeff HostetlerJul 13, 2021
  182. Ævar Arnfjörð BjarmasonJul 13, 2021
  183. 20/34 fsmonitor-fs-listen-macos: add macos header files for FSEventJeff Hostetler via GitGitGadget, Jul 1, 2021
  184. 19/34 fsmonitor-fs-listen-win32: implement FSMonitor backend on WindowsJeff Hostetler via GitGitGadget, Jul 1, 2021
  185. Ævar Arnfjörð BjarmasonJul 1, 2021
  186. Jeff HostetlerJul 13, 2021
  187. Ævar Arnfjörð BjarmasonJul 13, 2021
  188. Johannes SchindelinJul 16, 2021
  189. Ævar Arnfjörð BjarmasonJul 16, 2021
  190. Eric WongJul 17, 2021
  191. Jeff HostetlerJul 19, 2021
  192. Felipe ContrerasJul 16, 2021
  193. Johannes SchindelinJul 6, 2021
  194. Jeff HostetlerJul 13, 2021
  195. 23/34 t/helper/test-touch: add helper to touch a series of filesJeff Hostetler via GitGitGadget, Jul 1, 2021
  196. Junio C HamanoJul 1, 2021
  197. Jeff HostetlerJul 13, 2021
  198. 24/34 t/perf/p7519: speed up test using "test-tool touch"Jeff Hostetler via GitGitGadget, Jul 1, 2021
  199. Ævar Arnfjörð BjarmasonJul 1, 2021
  200. Jeff HostetlerJul 13, 2021
  201. Elijah NewrenJul 13, 2021
  202. Junio C HamanoJul 13, 2021
  203. Elijah NewrenJul 13, 2021
  204. Jeff HostetlerJul 13, 2021
  205. Junio C HamanoJul 13, 2021
  206. Jeff HostetlerJul 13, 2021
  207. Ævar Arnfjörð BjarmasonJul 13, 2021
  208. Jeff HostetlerJul 13, 2021
  209. Ævar Arnfjörð BjarmasonJul 20, 2021
  210. Jeff HostetlerJul 13, 2021
  211. 22/34 fsmonitor--daemon: implement handle_client callbackJeff Hostetler via GitGitGadget, Jul 1, 2021
  212. 21/34 fsmonitor-fs-listen-macos: implement FSEvent listener on MacOSJeff Hostetler via GitGitGadget, Jul 1, 2021
  213. 25/34 t/perf: avoid copying builtin fsmonitor files into test repoJeff Hostetler via GitGitGadget, Jul 1, 2021
  214. Ævar Arnfjörð BjarmasonJul 1, 2021
  215. 29/34 fsmonitor--daemon: use a cookie file to sync with file systemJeff Hostetler via GitGitGadget, Jul 1, 2021
  216. Ævar Arnfjörð BjarmasonJul 1, 2021
  217. Jeff HostetlerJul 21, 2021
  218. 27/34 t7527: create test for fsmonitor--daemonJeff Hostetler via GitGitGadget, Jul 1, 2021
  219. Ævar Arnfjörð BjarmasonJul 1, 2021
  220. 26/34 t/perf/p7519: add fsmonitor--daemon test casesJeff Hostetler via GitGitGadget, Jul 1, 2021
  221. 28/34 fsmonitor--daemon: periodically truncate list of modified filesJeff Hostetler via GitGitGadget, Jul 1, 2021
  222. 30/34 fsmonitor: enhance existing commentsJeff Hostetler via GitGitGadget, Jul 1, 2021
  223. 32/34 t7527: test status with untracked-cache and fsmonitor--daemonJeff Hostetler via GitGitGadget, Jul 1, 2021
  224. 31/34 fsmonitor: force update index after large responsesJeff Hostetler via GitGitGadget, Jul 1, 2021
  225. 33/34 fsmonitor: handle shortname for .gitJeff Hostetler via GitGitGadget, Jul 1, 2021
  226. 34/34 t7527: test FS event reporing on MacOS WRT case and UnicodeJeff Hostetler via GitGitGadget, Jul 1, 2021
  227. Ævar Arnfjörð BjarmasonJul 1, 2021
  228. Ævar Arnfjörð BjarmasonJul 1, 2021
  229. Jeff HostetlerJul 1, 2021
  230. Ævar Arnfjörð BjarmasonJul 1, 2021
  231. Jeff HostetlerJul 2, 2021
  232. Ævar Arnfjörð BjarmasonJul 5, 2021
  233. Johannes SchindelinJul 5, 2021
  234. Ævar Arnfjörð BjarmasonJul 5, 2021
  235. Johannes SchindelinJul 6, 2021
  236. Felipe ContrerasJul 7, 2021
  237. Felipe ContrerasJul 7, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.