cvsroot を指定する 環境変数 CVSROOT と www.gfd-dennou.org へのアクセス方法を指定する 環境変数 CVS_RSH を設定する. (これらを指定しなくともコマンドに直接指定する方法もある).
$ export CVSROOT=:ext:www.gfd-dennou.org:/GFD_Dennou_Club/ftp/arch/hoge/cvsroot $ export CVS_RSH=ssh
なお, www.gfd-dennou.org 内で作業をおこなう場合には
$ export CVSROOT=/GFD_Dennou_Club/ftp/arch/hoge/cvsroot
のみでも構わない.
最初にトランク(本線)にタグを付ける
$ cd /home/foo/hoge $ cvs tag hoge-20050610
この例では hoge-20050610 というタグを付けた
次にブランチ(枝)を作成する.
$ cvs tag -b hoge-20050610-branch
トランクのワーキングディレクトリにおいて, 以下を実行
$ cvs update -r hoge-20050610-branch
ブランチにおいてコミット, タグ付けは, トランクにおけるそれと 同じやり方で行う.
ここではブランチの作業ディレクトリを ~/branch/hoge とし, トランクの 作業ディレクトリを ~/trunk/hoge とする.
始めに update -A コマンドを用いてブランチから抜け出し, そのブランチとの 差分を調べる.
~/branch/hoge$ cvs update -A
標準出力されたファイルが, トランクとブランチで内容の異なるファイルである. その差分を見るためには, 以下を打鍵する.
~/trunk/hoge$ cvs diff -c -r hoge-20050610-branch (ファイル名)
ブランチの内容をトランクに反映させる
~/trunk/hoge$ cvs update -j hoge-20050610-branch (ファイル名) ~/trunk/hoge$ cvs commit -m "merged from branch"
注) cvs update -A を行うとブランチから抜け出しトランクに移る. そのため 再度ブランチに移るには cvs update -r (ブランチ名) を行う必要がある.
ここではブランチの作業ディレクトリを ~/branch/hoge とし, トランクの 作業ディレクトリを ~/trunk/hoge とする.
まずはトランクにタグを張っておく.
~/trunk/hoge$ cvs tag hoge-20050610+1
トランクとブランチでの差分を見るためには, 以下を打鍵する. 比較するために, -r オプションとしてトランクのタグを与える
~/branch/hoge$ cvs diff -c -r hoge-20050610+1 (ファイル名)
ブランチの内容をトランクに反映させる
~/branch/hoge$ cvs update -j hoge-20050610+1 (ファイル名) ~/branch/hoge$ cvs commit -m "merged from branch"