SYNOPSIS

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

DESCRIPTION

プラットフォーム固有のファイルシステムの通知機能を使用して、 作業ディレクトリのファイルとディレクトリの変更を監視するデーモン。

このデーモンは、 低速の githooks(5) インターフェイスではなく、 simple IPC インターフェイスを使用して、 git status などのコマンドと直接通信(communicate)します。

このデーモンは Git に組み込まれているため、 サードパーティのツールは必要ありません。

OPTIONS

start

バックグラウンドでデーモンを開始(start)します。

run

フォアグラウンドでデーモンを実行します。

stop

存在する場合、 現在の作業ディレクトリで実行されているデーモンを停止(stop)します。

status

デーモンが現在の作業ディレクトリを監視している場合、 ゼロ・ステータスで終了(exit)します。

REMARKS

このデーモンは、 単一の作業ディレクトリを監視し、 最近変更されたファイルとディレクトリのリストを維持するために使用される長時間実行プロセスです。 作業ディレクトリへの変更の概要を要求するだけで、 ディスクのスキャンを回避できる場合、 git status などのコマンドのパフォーマンスを向上させることができます。

core.fsmonitortrue に設定されている場合 (git-config(1) 参照)、 git status などのコマンドはデーモンに変更を要求し、 必要に応じてデーモンを自動的に起動します。

詳細については、 git-update-index(1) の「File System Monitor」セクションを参照してください。

CAVEATS

fsmonitor デーモンは現在、 サブモジュールについて認識しておらず、 サブモジュール内で発生するファイルシステムのイベントを除外する方法も認識していません。 fsmonitor デーモンがスーパー・リポジトリを監視していて、 サブモジュールの作業ディレクトリ内でファイルが変更された場合、 (スーパー・ リポジトリに対して発生したものとして)変更が報告されます。 ただし、 クライアントはこれらの余分なイベントを適切に無視するため、 パフォーマンスが影響を受ける可能性がありますが、 誤った結果が生じることはありません。

デフォルトでは、 fsmonitor デーモンはネットワーク・マウントされたリポジトリに対する動作を拒否します。 これは、 fsmonitor.allowRemotetrue に設定することで上書きできます。 ただし、fsmonitor デーモンはネットワーク・マウントされたすべてのリポジトリで正しく動作することが保証されておらず、 そのような使用は実験的であると考えられることに注意してください。

Mac OS では、さまざまな Git コマンドと fsmonitor デーモンの間のプロセス間通信 (IPC) は、 Unix ドメイン・ソケット (UDS) — という特別な種類のファイル — を介して行われます。 UDS はネイティブの Mac OS ファイルシステムではサポートされていますが、 ネットワーク・マウントされたファイルシステムやNTFSやFAT32 上ではサポートされていません。 他のファイルシステムでは必要なサポートがある場合とない場合があります。 fsmonitor デーモンはこれらのファイルシステムで動作することが保証されておらず、 そのような使用は実験的であるとみなされます。

デフォルトでは、 ソケットは .git ディレクトリに作成されますが、 .git ディレクトリがネットワーク・マウントされたファイルシステム上にある場合は、 代わりに $HOME/.git-fsmonitor-* に作成されます。 ただし、 $HOME 自体がネットワーク・マウントされたファイルシステム上にある場合は、 構成変数 fsmonitor.socketDir を、 ソケット・ファイルを作成する Mac OS ネイティブ・ファイルシステム上のディレクトリのパスに設定する必要があります。

上記のディレクトリ(.git または $HOME または fsmonitor.socketDir) がネイティブ Mac OS ファイルシステム上にない場合、 fsmonitor デーモンはエラーを報告し、 デーモンと現在実行中のコマンドが終了(exit)します。

CONFIGURATION

このセクションの以下のすべては、 git-config(1) ドキュメントの抜粋です。 内容は git-config(1) ドキュメント にあるものと同一です:

fsmonitor.allowRemote

デフォルトでは、 fsmonitor デーモンはネットワークにマウントされたリポジトリに対する動作を拒否します。 fsmonitor.allowRemotetrue に設定すると、この振る舞いをオーバーライドします。 core.fsmonitortrue に設定されている場合にのみ尊重されます。

fsmonitor.socketDir

この Mac OS 固有のオプションが設定されている場合、 fsmonitor デーモンと、 様々な Git コマンド間の通信に使用される Unix ドメイン・ソケットを作成するディレクトリを指定します。 ディレクトリはネイティブな Mac OS ファイルシステム上に存在する必要があります。 core.fsmonitortrue に設定されている場合にのみ尊重されます。

GIT

Part of the git(1) suite