Emacsは、追跡対象ファイルの内容を変更する可能性があると判断したVCS操作を実行する際、それらのファイルを参照しているバッファをリバートします(バッファのリバートを参照)。これは、VCS操作によってVCSキーワードが展開された場合でも、ポイントとマークの位置を保持するVCS対応の方式で行われます(バージョン管理ヘッダーの挿入を参照)。
この機能の重要な制限は、シェルプロンプトやスクリプト経由など、Emacs外で追加のVCS操作を行った際に、Emacsがバッファを元の状態に戻すタイミングを判断できない点です。こうした操作を頻繁に行う場合で、かつキーワード展開機能を備えたVCS(特別な設定がない限り、現代のすべてのVCSが該当します)を使用していないのであれば、代わりにvc-auto-revert-modeを有効にするため、その変数をnil以外の値にカスタマイズすることを検討してください。
このモードは global-auto-revert-mode(自動リバート:バッファを自動的に最新の状態に保つ
を参照)と同様ですが、VCSで追跡されているファイルを参照しているファイルに限定されます。これにより、Emacsが操作を開始したかどうかにかかわらず、VCS操作によって内容が変更された際には、常にバッファがリバートされるようになります。
追跡対象ファイルを参照するバッファにおける自動リバートモード(vc-auto-revert-mode
で有効になるもの)の詳細については、バージョン管理とモードラインを参照してください。