English ▾ Themen ▾ Neueste Version ▾ git-fsmonitor--daemon zuletzt aktualisiert in 2.43.0

NAME

git-fsmonitor—​daemon - Ein integrierter Dateisystem-Monitor

SYNOPSIS

git fsmonitor--daemon start
git fsmonitor--daemon run
git fsmonitor--daemon stop
git fsmonitor--daemon status

BESCHREIBUNG

Ein Daemon, der das Arbeitsverzeichnis mithilfe plattformspezifischer Benachrichtigungsfunktionen für Dateisystemänderungen überwacht.

Dieser Daemon kommuniziert direkt mit Befehlen wie git status über die Simple IPC Schnittstelle anstelle der langsameren githooks[5] Schnittstelle.

Dieser Daemon ist in Git integriert, sodass keine Tools von Drittanbietern erforderlich sind.

OPTIONEN

start

Startet einen Daemon im Hintergrund.

run

Führt einen Daemon im Vordergrund aus.

stop

Stoppt den Daemon, der im aktuellen Arbeitsverzeichnis läuft, falls vorhanden.

status

Beendet mit Status null, wenn ein Daemon das aktuelle Arbeitsverzeichnis überwacht.

ANMERKUNGEN

Dieser Daemon ist ein langlebiger Prozess, der zur Überwachung eines einzelnen Arbeitsverzeichnisses und zur Pflege einer Liste der kürzlich geänderten Dateien und Verzeichnisse verwendet wird. Die Leistung von Befehlen wie git status kann erhöht werden, wenn diese nur eine Zusammenfassung der Änderungen im Arbeitsverzeichnis abfragen und das Scannen der Festplatte vermeiden können.

Wenn core.fsmonitor auf true gesetzt ist (siehe git-config[1]), fragen Befehle wie git status den Daemon nach Änderungen ab und starten ihn automatisch (falls erforderlich).

Weitere Informationen finden Sie im Abschnitt "File System Monitor" in git-update-index[1].

HINWEISE

Der fsmonitor-Daemon kennt derzeit keine Submodule und weiß nicht, dass Dateisystemereignisse innerhalb eines Submodules herausgefiltert werden sollen. Wenn der fsmonitor-Daemon ein Super-Repository überwacht und eine Datei im Arbeitsverzeichnis eines Submodules geändert wird, meldet er die Änderung (als Änderung am Super-Repository). Der Client wird diese zusätzlichen Ereignisse jedoch ordnungsgemäß ignorieren, sodass die Leistung beeinträchtigt sein kann, aber kein falsches Ergebnis erzielt wird.

Standardmäßig weigert sich der fsmonitor-Daemon, mit Netzwerklaufwerken zu arbeiten. Dies kann durch Setzen von fsmonitor.allowRemote auf true überschrieben werden. Beachten Sie jedoch, dass der fsmonitor-Daemon möglicherweise nicht mit allen Netzwerklaufwerken korrekt funktioniert, daher wird eine solche Verwendung als experimentell betrachtet.

Unter Mac OS erfolgt die Interprozesskommunikation (IPC) zwischen verschiedenen Git-Befehlen und dem fsmonitor-Daemon über einen Unix-Domain-Socket (UDS) – eine spezielle Art von Datei –, der von nativen Mac OS-Dateisystemen unterstützt wird, jedoch nicht auf Netzwerklaufwerken, NTFS oder FAT32. Andere Dateisysteme haben möglicherweise die erforderliche Unterstützung oder auch nicht; der fsmonitor-Daemon funktioniert mit diesen Dateisystemen möglicherweise nicht garantiert korrekt und eine solche Verwendung wird als experimentell betrachtet.

Standardmäßig wird der Socket im Verzeichnis .git erstellt. Wenn sich das Verzeichnis .git jedoch auf einem Netzwerklaufwerk befindet, wird er stattdessen unter $HOME/.git-fsmonitor-* erstellt, es sei denn, $HOME selbst befindet sich auf einem Netzwerklaufwerk. In diesem Fall müssen Sie die Konfigurationsvariable fsmonitor.socketDir auf den Pfad eines Verzeichnisses auf einem nativen Mac OS-Dateisystem setzen, in dem die Socket-Datei erstellt werden soll.

Wenn keiner der oben genannten Verzeichnisse (.git, $HOME oder fsmonitor.socketDir) auf einem nativen Mac OS-Dateisystem liegt, meldet der fsmonitor-Daemon einen Fehler, der zum Beenden des Daemons und des aktuell laufenden Befehls führt.

KONFIGURATION

Alles unterhalb dieser Zeile in diesem Abschnitt wird selektiv aus der git-config[1]-Dokumentation übernommen. Der Inhalt ist derselbe wie dort zu finden.

fsmonitor.allowRemote

Standardmäßig weigert sich der fsmonitor-Daemon, mit Netzwerklaufwerken zu arbeiten. Das Setzen von fsmonitor.allowRemote auf true überschreibt dieses Verhalten. Nur wirksam, wenn core.fsmonitor auf true gesetzt ist.

fsmonitor.socketDir

Diese Mac OS-spezifische Option gibt, wenn sie gesetzt ist, das Verzeichnis an, in dem der Unix-Domain-Socket zur Kommunikation zwischen dem fsmonitor-Daemon und verschiedenen Git-Befehlen erstellt werden soll. Das Verzeichnis muss sich auf einem nativen Mac OS-Dateisystem befinden. Nur wirksam, wenn core.fsmonitor auf true gesetzt ist.

GIT

Teil der git[1] Suite