変数vc-cvs-global-switches
で、すべてのCVS操作に渡す追加のコマンドラインオプションを指定できます。これらのスイッチはcvs
コマンドの直後、呼び出す操作名の前に挿入されます。
リモートマシン上でCVSレポジトリを使用する際は、ネットワーク通信を最小に維持するようVCに試行させることができます。これは、変数vc-cvs-stay-local
により制御されます。vc-cvs-stay-local
がonly-file
(デフォルト)の場合、VCはローカルのCVSサブディレクトリーのエントリーと、前のCVSコマンドから戻された情報だけを使って、各ファイルのバージョンコントロール状態を決定します。結果として、あなたがファイルを変更しているとき、他の誰かが他の変更をチェックインした場合、それのコミットを試みるまで衝突は通知されません。
vc-cvs-stay-local
をnil
に変更した場合、ローカルのレポジトリと同じように、vc-next-action
(C-x v v)が何を行うか決定する前に、VCはリモートのレポジトリに問い合わせを行います。
vc-cvs-stay-local
に、レポジトリのあるホスト名にマッチする正規表現を指定することもできます。この場合、ホスト名がパターンにマッチしたときは、VCはローカルに留まります。
リモートのレポジトリを使用する場合、Emacsは通常、編集された各ファイルのオリジナルバージョンである、自動バージョンバックアップ(automatic version backups)を作成します。これらのローカルのバックアップは、変更を最初にファイルに保存したときに作成され、レポジトリに変更をコミットした後で削除されます(これらは通常のEmacsのバックアップファイルとは異なることに注意してください。 バックアップファイルを参照してください)。 C-x v =やC-x v uのようなコマンドは、ネットワークへのアクセスを避けるため、可能な場合は自動バージョンバックアップを使用します。
vc-cvs-stay-local
をnil
にセットすることにより、自動バージョンバックアップの作成を無効にできます。
自動バージョンバックアップは、file.~version.~
という形式の名前をもちます。これはC-x
v ~が古いバージョンを保存するときの名前と似ています
(古いリビジョンの調査と比較を参照してください)。
例外は、バージョンの後ろにある追加のドット(‘.’)です。関連するVCコマンドは、これら両方の種類のバージョンバックアップを使用できます。主な違いは、C-x
v ~により手動で作成されたバージョンバックアップは、コミットしたとき自動的に削除されないことです。
デフォルトでCVSはロックを使用しませんが、CVSREAD
またはwatchの機能を使用して、ロックのような振る舞いを有効にする方法があります。詳細については、CVSのドキュメントを参照してください。そのような場合、ロックベースのバージョンコントロールシステムで行うように、EmacsでC-x
v vを使用して、ロックを切り替えることができます
(ロックでの基本的なバージョンコントロールを参照してください)