Next: , Previous: Creating a branch, Up: Branching and merging


5.3 枝のアクセス

2 つの方法のどちらかで枝を取得することができます: リポジトリから新しく 取り出すか、存在する作業コピーをその枝に切り換える方法です。

リポジトリから枝を取り出すには ‘checkout’ をフラグ ‘-r’ と、 その後に枝のタグ名を続けて起動します (see Creating a branch)。

     $ cvs checkout -r rel-1-0-patches tc

もしくは、既に作業コピーを持っていれば、‘update -r’ で任意の枝に 切り換えることができます:

     $ cvs update -r rel-1-0-patches tc

もしくは、それと等価な:

     $ cd tc
     $ cvs update -r rel-1-0-patches

作業コピーが元々幹にあったか他の枝にあったかは関係ありません – 上のコ マンドはそれを指定された名前の枝に切り換えます。普通の ‘update’ コマンドと同様に、‘update -r’ は全ての変更をマージし、衝突がどこ で起こったかを知らせます。

一度特定の枝に結び付けられた作業コピーを手に入れると、指示しない限りそ こに残り続けます。これは、作業コピーから格納された変更はその枝に新しい リビジョンを加えますが、幹と他の枝には影響を及ぼさないということです。

作業コピーがどの枝であるかを知るために、コマンド ‘status’ を使う ことができます。その出力で、‘Sticky tag’ という名前の場所を探して ください (see Sticky tags) – それは現在の作業ファイルに、もし枝が あれば、それを教える cvs の方法です:

     $ cvs status -v driver.c backend.c
     ===================================================================
     File: driver.c          Status: Up-to-date
     
         Version:            1.7     Sat Dec  5 18:25:54 1992
         RCS Version:        1.7     /u/cvsroot/yoyodyne/tc/driver.c,v
         Sticky Tag:         rel-1-0-patches (branch: 1.7.2)
         Sticky Date:        (none)
         Sticky Options:     (none)
     
         Existing Tags:
             rel-1-0-patches             (branch: 1.7.2)
             rel-1-0                     (revision: 1.7)
     
     ===================================================================
     File: backend.c         Status: Up-to-date
     
         Version:            1.4     Tue Dec  1 14:39:01 1992
         RCS Version:        1.4     /u/cvsroot/yoyodyne/tc/backend.c,v
         Sticky Tag:         rel-1-0-patches (branch: 1.4.2)
         Sticky Date:        (none)
         Sticky Options:     (none)
     
         Existing Tags:
             rel-1-0-patches             (branch: 1.4.2)
             rel-1-0                     (revision: 1.4)
             rel-0-4                     (revision: 1.4)
     

それぞれのファイルの枝番号が違うという事実に混乱しないでください (それぞれ ‘1.7.1’ と ‘1.4.2’ です)。枝タグは同じ ‘rel-1-0-patches’ で、ファイルは実際に同じ枝にあります。番号は単 に枝が作られたときのそれぞれのファイルのリビジョン履歴を反映しています。 上の例では、この枝が作成される前に、‘driver.c’ が ‘backend.c’ よりも多くの変更が成されたということを導き出すことが できます。

枝番号が作成される方法の詳細は Branches and revisions を参照して ください。