logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

git-fsmonitor--daemon.1 (5799B)


  1. '\" t
  2. .\" Title: git-fsmonitor--daemon
  3. .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
  4. .\" Generator: DocBook XSL Stylesheets v1.79.2 <http://docbook.sf.net/>
  5. .\" Date: 2025-03-14
  6. .\" Manual: Git Manual
  7. .\" Source: Git 2.49.0
  8. .\" Language: English
  9. .\"
  10. .TH "GIT\-FSMONITOR\-\-DAEMON" "1" "2025-03-14" "Git 2\&.49\&.0" "Git Manual"
  11. .\" -----------------------------------------------------------------
  12. .\" * Define some portability stuff
  13. .\" -----------------------------------------------------------------
  14. .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15. .\" http://bugs.debian.org/507673
  16. .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
  17. .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  18. .ie \n(.g .ds Aq \(aq
  19. .el .ds Aq '
  20. .\" -----------------------------------------------------------------
  21. .\" * set default formatting
  22. .\" -----------------------------------------------------------------
  23. .\" disable hyphenation
  24. .nh
  25. .\" disable justification (adjust text to left margin only)
  26. .ad l
  27. .\" -----------------------------------------------------------------
  28. .\" * MAIN CONTENT STARTS HERE *
  29. .\" -----------------------------------------------------------------
  30. .SH "NAME"
  31. git-fsmonitor--daemon \- A Built\-in Filesystem Monitor
  32. .SH "SYNOPSIS"
  33. .sp
  34. .nf
  35. \fIgit fsmonitor\-\-daemon\fR start
  36. \fIgit fsmonitor\-\-daemon\fR run
  37. \fIgit fsmonitor\-\-daemon\fR stop
  38. \fIgit fsmonitor\-\-daemon\fR status
  39. .fi
  40. .SH "DESCRIPTION"
  41. .sp
  42. A daemon to watch the working directory for file and directory changes using platform\-specific filesystem notification facilities\&.
  43. .sp
  44. This daemon communicates directly with commands like \fBgit\fR \fBstatus\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\&.
  45. .sp
  46. This daemon is built into Git so that no third\-party tools are required\&.
  47. .SH "OPTIONS"
  48. .PP
  49. start
  50. .RS 4
  51. Starts a daemon in the background\&.
  52. .RE
  53. .PP
  54. run
  55. .RS 4
  56. Runs a daemon in the foreground\&.
  57. .RE
  58. .PP
  59. stop
  60. .RS 4
  61. Stops the daemon running in the current working directory, if present\&.
  62. .RE
  63. .PP
  64. status
  65. .RS 4
  66. Exits with zero status if a daemon is watching the current working directory\&.
  67. .RE
  68. .SH "REMARKS"
  69. .sp
  70. 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\fR \fBstatus\fR can be increased if they just ask for a summary of changes to the working directory and can avoid scanning the disk\&.
  71. .sp
  72. When \fBcore\&.fsmonitor\fR is set to \fBtrue\fR (see \fBgit-config\fR(1)) commands, such as \fBgit\fR \fBstatus\fR, will ask the daemon for changes and automatically start it (if necessary)\&.
  73. .sp
  74. For more information see the "File System Monitor" section in \fBgit-update-index\fR(1)\&.
  75. .SH "CAVEATS"
  76. .sp
  77. 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\&.
  78. .sp
  79. By default, the fsmonitor daemon refuses to work with network\-mounted repositories; this may be overridden by setting \fBfsmonitor\&.allowRemote\fR to \fBtrue\fR\&. Note, however, that the fsmonitor daemon is not guaranteed to work correctly with all network\-mounted repositories, so such use is considered experimental\&.
  80. .sp
  81. On Mac OS, the inter\-process communication (IPC) between various Git commands and the fsmonitor daemon is done via a Unix domain socket (UDS) \(em a special type of file \(em 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\&.
  82. .sp
  83. By default, the socket is created in the \&.\fBgit\fR directory\&. However, if the \&.\fBgit\fR directory is on a network\-mounted filesystem, it will instead be created at \fB$HOME/\&.git\-fsmonitor\-\fR* unless \fB$HOME\fR itself is on a network\-mounted filesystem, in which case you must set the configuration variable \fBfsmonitor\&.socketDir\fR to the path of a directory on a Mac OS native filesystem in which to create the socket file\&.
  84. .sp
  85. If none of the above directories (\&.\fBgit\fR, \fB$HOME\fR, or \fBfsmonitor\&.socketDir\fR) 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\&.
  86. .SH "CONFIGURATION"
  87. .sp
  88. Everything below this line in this section is selectively included from the \fBgit-config\fR(1) documentation\&. The content is the same as what\(cqs found there:
  89. .PP
  90. fsmonitor\&.allowRemote
  91. .RS 4
  92. By default, the fsmonitor daemon refuses to work with network\-mounted repositories\&. Setting
  93. \fBfsmonitor\&.allowRemote\fR
  94. to
  95. \fBtrue\fR
  96. overrides this behavior\&. Only respected when
  97. \fBcore\&.fsmonitor\fR
  98. is set to
  99. \fBtrue\fR\&.
  100. .RE
  101. .PP
  102. fsmonitor\&.socketDir
  103. .RS 4
  104. This Mac OS\-specific option, if set, specifies the directory in which to create the Unix domain socket used for communication between the fsmonitor daemon and various Git commands\&. The directory must reside on a native Mac OS filesystem\&. Only respected when
  105. \fBcore\&.fsmonitor\fR
  106. is set to
  107. \fBtrue\fR\&.
  108. .RE
  109. .SH "GIT"
  110. .sp
  111. Part of the \fBgit\fR(1) suite
  112. .SH "NOTES"
  113. .IP " 1." 4
  114. simple IPC
  115. .RS 4
  116. \%git-htmldocs/technical/api-simple-ipc.html
  117. .RE