107 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
| git-fsmonitor{litdd}daemon(1)
 | |
| =============================
 | |
| 
 | |
| NAME
 | |
| ----
 | |
| git-fsmonitor--daemon - A Built-in Filesystem 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 filesystem 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 filesystem 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.
 | |
| 
 | |
| By default, the fsmonitor daemon refuses to work with network-mounted
 | |
| repositories; this may be overridden by setting `fsmonitor.allowRemote` to
 | |
| `true`. Note, however, that the fsmonitor daemon is not guaranteed to work
 | |
| correctly with all network-mounted repositories, so such use is considered
 | |
| experimental.
 | |
| 
 | |
| On Mac OS, the inter-process communication (IPC) between various Git
 | |
| commands and the fsmonitor daemon is done via a Unix domain socket (UDS) -- a
 | |
| special type of file -- which is supported by native Mac OS filesystems,
 | |
| but not on network-mounted filesystems, NTFS, or FAT32.  Other filesystems
 | |
| may or may not have the needed support; the fsmonitor daemon is not guaranteed
 | |
| to work with these filesystems and such use is considered experimental.
 | |
| 
 | |
| By default, the socket is created in the `.git` directory.  However, if the
 | |
| `.git` directory is on a network-mounted filesystem, it will instead be
 | |
| created at `$HOME/.git-fsmonitor-*` unless `$HOME` itself is on a
 | |
| network-mounted filesystem, in which case you must set the configuration
 | |
| variable `fsmonitor.socketDir` to the path of a directory on a Mac OS native
 | |
| filesystem in which to create the socket file.
 | |
| 
 | |
| If none of the above directories (`.git`, `$HOME`, or `fsmonitor.socketDir`)
 | |
| is on a native Mac OS file filesystem the fsmonitor daemon will report an
 | |
| error that will cause the daemon and the currently running command to exit.
 | |
| 
 | |
| CONFIGURATION
 | |
| -------------
 | |
| 
 | |
| include::includes/cmd-config-section-all.adoc[]
 | |
| 
 | |
| include::config/fsmonitor--daemon.adoc[]
 | |
| 
 | |
| GIT
 | |
| ---
 | |
| Part of the linkgit:git[1] suite
 |