| '\" t |
| .\" Title: git-fsmonitor--daemon |
| .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] |
| .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> |
| .\" Date: 05/06/2022 |
| .\" Manual: Git Manual |
| .\" Source: Git 2.36.1.19.ge8005e4871 |
| .\" Language: English |
| .\" |
| .TH "GIT\-FSMONITOR\-\-DA" "1" "05/06/2022" "Git 2\&.36\&.1\&.19\&.ge8005e4" "Git Manual" |
| .\" ----------------------------------------------------------------- |
| .\" * Define some portability stuff |
| .\" ----------------------------------------------------------------- |
| .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| .\" http://bugs.debian.org/507673 |
| .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html |
| .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| .ie \n(.g .ds Aq \(aq |
| .el .ds Aq ' |
| .\" ----------------------------------------------------------------- |
| .\" * set default formatting |
| .\" ----------------------------------------------------------------- |
| .\" disable hyphenation |
| .nh |
| .\" disable justification (adjust text to left margin only) |
| .ad l |
| .\" ----------------------------------------------------------------- |
| .\" * MAIN CONTENT STARTS HERE * |
| .\" ----------------------------------------------------------------- |
| .SH "NAME" |
| git-fsmonitor--daemon \- A Built\-in File System Monitor |
| .SH "SYNOPSIS" |
| .sp |
| .nf |
| \fIgit fsmonitor\-\-daemon\fR start |
| \fIgit fsmonitor\-\-daemon\fR run |
| \fIgit fsmonitor\-\-daemon\fR stop |
| \fIgit fsmonitor\-\-daemon\fR status |
| .fi |
| .sp |
| .SH "DESCRIPTION" |
| .sp |
| A daemon to watch the working directory for file and directory changes using platform\-specific file system notification facilities\&. |
| .sp |
| This daemon communicates directly with commands like \fBgit status\fR using the \m[blue]\fBsimple IPC\fR\m[]\&\s-2\u[1]\d\s+2 interface instead of the slower \fBgithooks\fR(5) interface\&. |
| .sp |
| This daemon is built into Git so that no third\-party tools are required\&. |
| .SH "OPTIONS" |
| .PP |
| start |
| .RS 4 |
| Starts a daemon in the background\&. |
| .RE |
| .PP |
| run |
| .RS 4 |
| Runs a daemon in the foreground\&. |
| .RE |
| .PP |
| stop |
| .RS 4 |
| Stops the daemon running in the current working directory, if present\&. |
| .RE |
| .PP |
| status |
| .RS 4 |
| Exits with zero status if a daemon is watching the current working directory\&. |
| .RE |
| .SH "REMARKS" |
| .sp |
| This daemon is a long running process used to watch a single working directory and maintain a list of the recently changed files and directories\&. Performance of commands such as \fBgit status\fR can be increased if they just ask for a summary of changes to the working directory and can avoid scanning the disk\&. |
| .sp |
| When \fBcore\&.fsmonitor\fR is set to \fBtrue\fR (see \fBgit-config\fR(1)) commands, such as \fBgit status\fR, will ask the daemon for changes and automatically start it (if necessary)\&. |
| .sp |
| For more information see the "File System Monitor" section in \fBgit-update-index\fR(1)\&. |
| .SH "CAVEATS" |
| .sp |
| 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 will properly ignore these extra events, so performance may be affected but it will not cause an incorrect result\&. |
| .SH "GIT" |
| .sp |
| Part of the \fBgit\fR(1) suite |
| .SH "NOTES" |
| .IP " 1." 4 |
| simple IPC |
| .RS 4 |
| \%git-htmldocs/technical/api-simple-ipc.html |
| .RE |