git-fsmonitor{litdd}daemon(1)
=============================

NAME
----
git-fsmonitor--daemon - A Built-in File System Monitor

SYNOPSIS
--------
[verse]
'git fsmonitor{litdd}daemon' start
'git fsmonitor{litdd}daemon' run
'git fsmonitor{litdd}daemon' stop
'git fsmonitor{litdd}daemon' status

DESCRIPTION
-----------

A daemon to watch the working directory for file and directory
changes using platform-specific file system notification facilities.

This daemon 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.

This daemon is built into Git so that no third-party tools are
required.

OPTIONS
-------

start::
	Starts a daemon in the background.

run::
	Runs a daemon in the foreground.

stop::
	Stops the daemon running in the current working
	directory, if present.

status::
	Exits with zero status if a daemon is watching the
	current working directory.

REMARKS
-------

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 `git status` can be
increased if they just ask for a summary of changes to the working
directory and can avoid scanning the disk.

When `core.fsmonitor` is set to `true` (see linkgit:git-config[1])
commands, such as `git status`, will ask the daemon for changes and
automatically start it (if necessary).

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
will properly ignore these extra events, so performance may be affected
but it will not cause an incorrect result.

GIT
---
Part of the linkgit:git[1] suite
