CVS のリポジトリ (repository) は、 バージョン管理の対象となる全てのファイルとディレクトリの、 完全なコピーを保管します。
通常、リポジトリ中のファイルを直接利用することはありません。 その代わり CVS コマンドを使用して、 作業者自身のファイルのコピーを取り出して、そのコピーに対して作業を行います。 そして一連の変更が完了したときに、 変更点をリポジトリに格納 (commit) します。 リポジトリは、変更を加えたものと同じになり、 また同時に変更点や、変更日時などの情報も正確に記録されます。
CVS は様々な方法でリポジトリを利用することができます。
リポジトリは、使用中のコンピュータ内であってもいいし、
別の部屋のコンピュータや、別の国のコンピュータであっても構いません。
リポジトリに接続する方法を区別するために、
リポジトリの名前の最初に接続経路 (access method) を加えます。
例えば :local:
は、
リポジトリであるディレクトリを利用することを意味します。
つまり :local:/usr/local/cvsroot
で表されるリポジトリは、
CVS を実行したコンピュータの `/usr/local/cvsroot'
というリポジトリを意味します。
他の接続経路については 「4.6 別のマシンのリポジトリ」 参照。
接続経路の指定が省略され、リポジトリに `:' が含まれない場合には、
:local:
が仮定されます。
`:' が含まれていた場合には、
:ext:
か :server:
が仮定されます。
例えばリポジトリ `/usr/local/cvsroot' が同じコンピュータ内にある場合、
:local:/usr/local/cvsroot
を省略して
/usr/local/cvsroot
と記述しても構いません。
しかし (Windows NT などで)、
リポジトリが `c:\src\cvsroot' にある場合は、
:local:c:\src\cvsroot
として、
接続経路を明示する必要があります。
リポジトリは二つの要素から構成されます。 `$CVSROOT/CVSROOT' には CVS の管理用ファイルが置かれます。 その他のディレクトリには、使用者が定義したモジュールの実体が置かれます。