git-fsmonitor--daemon

tosh1 pts0 comments

Ubuntu Manpage: git-fsmonitor--daemon - A Built-in Filesystem Monitor

Ubuntu Manpages

Close

Search

git-fsmonitor--daemon

A Built-in Filesystem Monitor

Provided by: git-man (Version: 1:2.53.0-1ubuntu1)

Source: git

Report a bug

On this page

SYNOPSIS

git fsmonitor--daemon start<br>git fsmonitor--daemon run<br>git fsmonitor--daemon stop<br>git fsmonitor--daemon status

DESCRIPTION

A daemon to watch the working directory for file and directory<br>changes using platform-specific filesystem notification facilities.

This daemon communicates directly with commands like git<br>status using the simple IPC [1] interface instead of the slower<br>githooks (5) interface.

This daemon is built into Git so that no third-party tools are<br>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<br>directory, if present.

status

Exits with zero status if a daemon is watching the<br>current working directory.

REMARKS

This daemon is a long running process used to watch a single<br>working directory and maintain a list of the recently changed files and<br>directories. Performance of commands such as git status can be<br>increased if they just ask for a summary of changes to the working directory<br>and can avoid scanning the disk.

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

For more information see the "File System Monitor"<br>section in git-update-index (1).

CAVEATS

The fsmonitor daemon does not currently know about submodules and<br>does not know to filter out filesystem events that happen within a<br>submodule. If fsmonitor daemon is watching a super repo and a file is<br>modified within the working directory of a submodule, it will report the<br>change (as happening against the super repo). However, the client will<br>properly ignore these extra events, so performance may be affected but it<br>will not cause an incorrect result.

By default, the fsmonitor daemon refuses to work with<br>network-mounted repositories; this may be overridden by setting<br>fsmonitor.allowRemote to true . Note, however, that the<br>fsmonitor daemon is not guaranteed to work correctly with all<br>network-mounted repositories, so such use is considered experimental.

On Mac OS, the inter-process communication (IPC) between various<br>Git commands and the fsmonitor daemon is done via a Unix domain socket (UDS)<br>— a special type of file — which is supported by native Mac OS<br>filesystems, but not on network-mounted filesystems, NTFS, or FAT32. Other<br>filesystems may or may not have the needed support; the fsmonitor daemon is<br>not guaranteed to work with these filesystems and such use is considered<br>experimental.

By default, the socket is created in the .git directory.<br>However, if the .git directory is on a network-mounted filesystem, it<br>will instead be created at $HOME/.git-fsmonitor-* unless $HOME<br>itself is on a network-mounted filesystem, in which case you must set the<br>configuration variable fsmonitor.socketDir to the path of a directory<br>on a Mac OS native filesystem in which to create the socket file.

If none of the above directories (.git , $HOME , or<br>fsmonitor.socketDir ) is on a native Mac OS file filesystem the<br>fsmonitor daemon will report an error that will cause the daemon and the<br>currently running command to exit.

CONFIGURATION

Everything below this line in this section is selectively included<br>from the git-config (1) documentation. The content is the same as<br>what’s found there:

fsmonitor.allowRemote

By default, the fsmonitor daemon refuses to work with<br>network-mounted repositories. Setting fsmonitor.allowRemote to<br>true overrides this behavior. Only respected when core.fsmonitor<br>is set to true .

fsmonitor.socketDir

This Mac OS-specific option, if set, specifies the<br>directory in which to create the Unix domain socket used for communication<br>between the fsmonitor daemon and various Git commands. The directory must<br>reside on a native Mac OS filesystem. Only respected when<br>core.fsmonitor is set to true .

GIT

Part of the git (1) suite

NOTES

1.<br>simple IPC

file:///usr/share/doc/git/html/technical/api-simple-ipc.html

fsmonitor daemon directory filesystem file status

Related Articles