各バージョンのファイルはそれぞれリビジョン番号 (revision number) を持ちます。 `1.1', `1.2' とか `1.3.2.2' とか `1.3.2.2.4.5' なんてのもあります。 リビジョン番号はピリオドで分けられた偶数個の十進整数です。 ファイルの最初のリビジョンは `1.1' で、 リビジョンが新しくなると一番右の番号が一つ増えます。
+-----+ +-----+ +-----+ +-----+ +-----+ ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 ! +-----+ +-----+ +-----+ +-----+ +-----+
CVS は直線的な発展のみに限定されません。 リビジョン・ツリー (revision tree) は、 独自に発展する枝 (branch) を持つことができます。 各枝に加えられた変更は、簡単に元の幹 (main trunk) に戻すことができます。
各枝は、ピリオドで分けられた奇数個の十進整数からなる 枝番号 (branch number) を持ちます。 枝番号は、枝が分岐したリビジョン番号の右に、 ピリオドと整数をくっつけたものです。 各リビジョンは、複数の枝を持つことができます。
枝にあるリビジョンのリビジョン番号は、 枝番号に数をくっつけたものになります。 下図に、前述の例から枝が発展した例を示します。
+-------------+ Branch 1.2.2.3.2 -> ! 1.2.2.3.2.1 ! / +-------------+ / / +---------+ +---------+ +---------+ +---------+ Branch 1.2.2 -> _! 1.2.2.1 !----! 1.2.2.2 !----! 1.2.2.3 !----! 1.2.2.4 ! / +---------+ +---------+ +---------+ +---------+ / / +-----+ +-----+ +-----+ +-----+ +-----+ ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 ! <- The main trunk +-----+ +-----+ +-----+ +-----+ +-----+ ! ! ! +---------+ +---------+ +---------+ Branch 1.2.4 -> +---! 1.2.4.1 !----! 1.2.4.2 !----! 1.2.4.3 ! +---------+ +---------+ +---------+
ここで注意したいのは、CVS が枝番号を生成するときには、 まだ使われていない最初の偶数である 2 から始めることです。 従ってリビジョン 6.4 から枝を生成すると、6.4.2 となります。 0 で終る枝番号は CVS 内部で使用され (「D.1 魔法の枝番号」参照)、 また枝 1.1.1 は特別な意味を持ちます (「12 サード・パーティーのソースの追っかけ」参照)。