29.1.3.2 ロックでの基本的なバージョンコントロール
ロックベースのバージョンコントロールシステム(SCCSやRCSのデフォルトモードなど)では、C-x v vは以下のことを行います:
- VCファイルセットに1つ以上のファイルがあり、そのファイルがバージョンコントロール状態と矛盾する場合、エラーをシグナルします。
- VCファイルセットに、バージョンコントロールシステムに登録されたファイルがない場合、VCファイルセットを登録します。バージョンコントロールへのファイルの登録を参照してください。Emacsが登録すべきシステムを見つけられない場合、レポジトリタイプの入力を求め、新しいレポジトリを作成して、VCファイルセットをそれに登録します。
- 各ファイルが登録されていてロックされていなければ、それを書き込み可能にするためにロックして、編集を開始できるようにします。
- 各ファイルのロックを獲得していて、それらが変更を含む場合、その変更をコミットします。これを行うことにより、Emacsは*vc-log*バッファーをポップアップするので、新しいリビジョンのログエントリーをタイプしてから、C-c
C-cでコミットします(Log Entryバッファーの機能を参照してください)。
- 各ファイルのロックをすでに獲得していて、変更がない場合、ファイルを再び読み取り専用にするために、ロックを開放します。
- 各ファイルが他のユーザーによりロックされている場合、ロックを横取りする(steal the
lock)か、確認を求めます。これにyesと応えると、あなたがロックを獲得して、その前にファイルをロックしていたユーザーに、警告メッセージが送られます。
このルールは、CVSがロックの横取りをサポートしない点をのぞき、CVSをロックモードで使用している場合も適用されます。