=begin
=CVS でブランチを始める
((::))
* 編集者: 杉山耕一朗
* 最終更新: 2005/06/10 (杉山耕一朗)
* 新規作成: 2005/06/10 (杉山耕一朗)
((::))
((:
:))
((::))
Contents
<<< cvs-branch.hindex.rd
((:
:))
((:
:))
== cvsroot の指定
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"
((:
:))
=end