|
| 1 | +git-fsmonitor--daemon(1) |
| 2 | +======================== |
| 3 | + |
| 4 | +NAME |
| 5 | +---- |
| 6 | +git-fsmonitor--daemon - Builtin file system monitor daemon |
| 7 | + |
| 8 | +SYNOPSIS |
| 9 | +-------- |
| 10 | +[verse] |
| 11 | +'git fsmonitor--daemon' --start |
| 12 | +'git fsmonitor--daemon' --run |
| 13 | +'git fsmonitor--daemon' --stop |
| 14 | +'git fsmonitor--daemon' --is-running |
| 15 | +'git fsmonitor--daemon' --is-supported |
| 16 | +'git fsmonitor--daemon' --query <token> |
| 17 | +'git fsmonitor--daemon' --query-index |
| 18 | +'git fsmonitor--daemon' --flush |
| 19 | + |
| 20 | +DESCRIPTION |
| 21 | +----------- |
| 22 | + |
| 23 | +Monitors files and directories in the working directory for changes using |
| 24 | +platform-specific file system notification facilities. |
| 25 | + |
| 26 | +It communicates directly with commands like `git status` using the |
| 27 | +link:technical/api-simple-ipc.html[simple IPC] interface instead of |
| 28 | +the slower linkgit:githooks[5] interface. |
| 29 | + |
| 30 | +OPTIONS |
| 31 | +------- |
| 32 | + |
| 33 | +--start:: |
| 34 | + Starts the fsmonitor daemon in the background. |
| 35 | + |
| 36 | +--run:: |
| 37 | + Runs the fsmonitor daemon in the foreground. |
| 38 | + |
| 39 | +--stop:: |
| 40 | + Stops the fsmonitor daemon running for the current working |
| 41 | + directory, if present. |
| 42 | + |
| 43 | +--is-running:: |
| 44 | + Exits with zero status if the fsmonitor daemon is watching the |
| 45 | + current working directory. |
| 46 | + |
| 47 | +--is-supported:: |
| 48 | + Exits with zero status if the fsmonitor daemon feature is supported |
| 49 | + on this platform. |
| 50 | + |
| 51 | +--query <token>:: |
| 52 | + Connects to the fsmonitor daemon (starting it if necessary) and |
| 53 | + requests the list of changed files and directories since the |
| 54 | + given token. |
| 55 | + This is intended for testing purposes. |
| 56 | + |
| 57 | +--query-index:: |
| 58 | + Read the current `<token>` from the File System Monitor index |
| 59 | + extension (if present) and use it to query the fsmonitor daemon. |
| 60 | + This is intended for testing purposes. |
| 61 | + |
| 62 | +--flush:: |
| 63 | + Force the fsmonitor daemon to flush its in-memory cache and |
| 64 | + re-sync with the file system. |
| 65 | + This is intended for testing purposes. |
| 66 | + |
| 67 | +REMARKS |
| 68 | +------- |
| 69 | +The fsmonitor daemon is a long running process that will watch a single |
| 70 | +working directory. Commands, such as `git status`, should automatically |
| 71 | +start it (if necessary) when `core.useBuiltinFSMonitor` is set to `true` |
| 72 | +(see linkgit:git-config[1]). |
| 73 | + |
| 74 | +Configure the built-in FSMonitor via `core.useBuiltinFSMonitor` in each |
| 75 | +working directory separately, or globally via `git config --global |
| 76 | +core.useBuiltinFSMonitor true`. |
| 77 | + |
| 78 | +Tokens are opaque strings. They are used by the fsmonitor daemon to |
| 79 | +mark a point in time and the associated internal state. Callers should |
| 80 | +make no assumptions about the content of the token. In particular, |
| 81 | +the should not assume that it is a timestamp. |
| 82 | + |
| 83 | +Query commands send a request-token to the daemon and it responds with |
| 84 | +a summary of the changes that have occurred since that token was |
| 85 | +created. The daemon also returns a response-token that the client can |
| 86 | +use in a future query. |
| 87 | + |
| 88 | +For more information see the "File System Monitor" section in |
| 89 | +linkgit:git-update-index[1]. |
| 90 | + |
| 91 | +CAVEATS |
| 92 | +------- |
| 93 | + |
| 94 | +The fsmonitor daemon does not currently know about submodules and does |
| 95 | +not know to filter out file system events that happen within a |
| 96 | +submodule. If fsmonitor daemon is watching a super repo and a file is |
| 97 | +modified within the working directory of a submodule, it will report |
| 98 | +the change (as happening against the super repo). However, the client |
| 99 | +should properly ignore these extra events, so performance may be affected |
| 100 | +but it should not cause an incorrect result. |
| 101 | + |
| 102 | +GIT |
| 103 | +--- |
| 104 | +Part of the linkgit:git[1] suite |
0 commit comments