ほとんどのVCコマンドは、VCファイルセット(VC filesets)にたいして処理を行います。VCファイルセットは、VC操作が機能する1つ以上のファイルのコレクションです。バージョンコントロールされたファイルをvisitしているバッファーでVCコマンドをタイプすると、VCファイルセットは単にそのファイル1つだけになります。VC Directoryバッファーで、いくつかのファイルをマークしているときにVCコマンドをタイプしたときは、VCファイルセットはマークされたファイルです(VC Directoryモードを参照)。DiredバッファーからVCコマンドを呼び出した際にも、マークされたファイル(Diredでのマークとフラグを参照)からVCファイルセットが構成されます(マークされたファイルがなければカレント行に表示されているファイルがデフォルト)。
Git、Mercurial、Bazaarのような現代的な変更セットベースのバージョンコントロールシステム(バージョンコントロールにおける変更セットベースとファイルベースを参照)では、VCコマンドは複数ファイルからなるVCファイルセットを1つのグループとして扱います。たとえば複数ファイルからなるVCファイルセットをコミットすると、それらすべてのファイルにたいする変更を含む、1つのリビジョンが生成されます。CVSのような古いファイルベースのバージョンコントロールシステムでは、複数ファイルからなるVCファイルセットの各ファイルは個別に処理されます。したがってファイルセットをコミットすると、ファイルセット内の変更されたファイルそれぞれにたいして1つのリビジョンが生成されます。
カレントVCファイルセットにたいして、次の適切なバージョンコントロール操作を処理します。
重要なVCコマンドC-x v v
(vc-next-action
)は多目的なもので、カレントのVCファイルセットにたいして、もっとも適切な操作を処理します。このコマンドは、それをバージョンコントロールシステムに登録するか、コミットするか、ロックを外すか、変更をマージします。それぞれの状況にたいする正確な動作の詳細は、以下のサブセクションで説明します。C-x
v vは、ファイルをvisitしているバッファー、Diredバッファー、またはVC
Directoryバッファーのいずれかで使うことができます。後者の2つのバッファーにおいては、マークされたファイルから構成されるファイルセットにたいして処理を行います。patchであるようなDiffモード(Diffモードを参照)のバッファーでC-x v
vを使用することもできます。この場合には、バッファーにdiffが表示されているファイルにたいして処理を行います。
VCファイルセットは、ファイルを閲覧したりvisitするためのグループ機能として使用される、名前つきファイルセット(named filesets)とは別の物だということに注意してください(ファイルセットを参照してください)。名前つきファイルセットとは異なり、VCファイルセットは名前をもたず、セッションをまたいで持続しません。