Next: , Up: Repository storage


2.2.1 リポジトリのどこにファイルを保存するか

リポジトリの全体構造は作業コピーに対応するディレクトリ木で構成されてい ます。例えば、リポジトリが

     /usr/local/cvsroot

にあれば、次のようなディレクトリの木構造になります (ディレクトリだけを 表示しています):

     /usr
      |
      +--local
      |   |
      |   +--cvsroot
      |   |    |
      |   |    +--CVSROOT
               |      (管理用ファイル)
               |
               +--gnu
               |   |
               |   +--diff
               |   |   (gnu diff のソース)
               |   |
               |   +--rcs
               |   |   (rcs のソース)
               |   |
               |   +--cvs
               |       (cvs のソース)
               |
               +--yoyodyne
                   |
                   +--tc
                   |    |
                   |    +--man
                   |    |
                   |    +--testing
                   |
                   +--(その他の Yoyodyne のソフトウェア)

ディレクトリの中身は、管理下にあるファイルの履歴ファイル (history files) です。 履歴ファイルの名前は、各ファイル名の最後に ‘,v’ を付加したものです。 次に、ディレクトリ yoyodyne/tc のリポジトリ構造を示します:

       $CVSROOT
         |
         +--yoyodyne
         |   |
         |   +--tc
         |   |   |
                 +--Makefile,v
                 +--backend.c,v
                 +--driver.c,v
                 +--frontend.c,v
                 +--parser.c,v
                 +--man
                 |    |
                 |    +--tc.1,v
                 |
                 +--testing
                      |
                      +--testpgm.t,v
                      +--test2.t,v

履歴ファイルは、 どのリビジョンのファイルでも再構築できる情報を持ち、 また変更内容が格納された時のログ・メッセージと、 その時のユーザの名前も記録しています。 ファイルをこのような書式で保管した最初のプログラムが、 rcs というバージョン管理システムであったために、 履歴ファイルは RCS ファイル と呼ばれます。 ファイル書式の完全な記述は、rcs の配布セットにある rcsfile(5)man ページか、cvs のソー ス配布のファイル doc/RCSFILES を参照してください。 このファイル書式は非常に一般的なので、 cvsrcs 以外のシステムでも、 少くとも理解をすることができます。

cvs で使用されている rcs ファイルは標準の書式と少し違います。 最大の違いは魔法の枝です。詳細は Magic branch numbers を参照して ください。cvs では、有効なタグ名は rcs で使用できるもののサ ブセットになっています。cvs の規則は Tags を参照してくださ い。