Q. 今のCVSって結局どうなのよ?
A. 以下のようになっています。
--------------------------------------------------------- 幹(DEVELOP)
\ RELEASE_2_0 \ RELEASE_2_1
\--------------- 枝(STABLE_2_0) \-------------- 枝(STABLE_2_1)
Q. レポジトリをもってくる時はどうしたらいいすかねぇ?
A.cvs -z3 co Kondara/pkgs/STABLEしてください。 これによってDEVELOP幹のレポジトリのコピーを取得できます。 STABLE_2_0,STABLE_2_1枝にはよほどの事がないとcommitしませんので、 通常は何も考えずこのレポジトリを利用してください。
Q. 今作業しているディレクトリをSTABLE_2_0相当のものにしたいっす。
A.$ cvs up -r STABLE_2_0このコマンドでディレクトリを STABLE_2_0 のものにします。 今度、ここに変更を施して commit した場合には STABLE_2_0 枝に 変更が反映されます。
Q. 今作業しているディレクトリをSTABLE_2_1相当のものにしたいっす。
A.$ cvs up -r STABLE_2_1このコマンドでディレクトリをSTABLE_2_1 のものにします。 今度、ここに変更を施して commit した場合には STABLE_2_1 枝に 変更が反映されます。
Q. 今ある作業ディレクトリをDEVELOP幹相当のものにしたいっす。
A.$ cvs up -r HEAD or $ cvs up -Aディレクトリを Trunk のものにします。 つまり、この後で何か変更して commit した場合には 幹に変更が反映されます。 つまり通常コミットする場合には、cvs up -A して そこに変更を反映してcommitすればよい事になります。
Q. DEVELOP幹にimportしたものをSTABLEにもいれたいんだけど どうしたらいいですか(汗)?
A.$ cvs co Kondara/pkgs/STABLE/hoge HEAD からもってくる $ cd Kondara/pkgs/STABLE/hoge $ cvs up -r STABLE_2_0 (cvs up -r STABLE_2_1) $ cvs up -j HEAD $ cvs commitもう一度importする必要はありません。
Q. DEVELOPにcommitした変更をSTABLE_2_0,STABLE_2_1にもマージしたいっす。
A.$ cvs up -r STABLE_2_0(STABLE_2_1) STABLE_2_0(STABLE_2_1) のレポジトリをもってくる $ cvs up -j HEAD DEVELOP Trunk とマージ $ cvs commit commitcvs up -j HEAD は、HEAD(つまり幹の先頭)の内容をSTABLE_2_0(STABLE_2_1)の レポジトリにjoin(統合)するオプションなので、up -j HEAD で生じた 変更は STABLE_2_0(STABLE_2_1) の枝に変更を施したのと同じです。
Q. STABLE_2_0(STABLE_2_1)の変更を幹に反映させるのは?
A.$ cvs up -A $ cvs up -j STABLE_2_0(STABLE_2_1) $ cvs commit
Q. コンフリクトしたとかいわれちゃうんですけど?
A. 手修正してくださいQ. commit する時にどこにcommitしようとしてるかチェック できないですか?
A. commit する時に -m オプションを使わないようにしておくと 編集用にエディタが開きます。そこに CVS: Modified Files: CVS: Tag: STABLE_2_0 という文字が含まれているのであれば、それはSTABLEブランチにcommitしよう としています。なければDEVELOPトランクです。STABLEブランチは余程の事が ない限りcommitしないようにしてください。Q. 今オイラはどこの枝にいる?幹?江田美紀さんってかわいいの?
A.$ cvs status -v hoge.specで表示される Sticky Tag: に注目してください。 Sticky Tag: (none) ならDEVELOP美紀 さん。 Sticky Tag: STABLE_2_0 なら江田STABLE さん。 Sticky Tag: STABLE_2_1 も江田STABLE さん。 です。残念ながら、江田美紀さんはいません。江田さんと美紀さんはいますが。 ちなみに、美紀さんのほう美人ですが、ちょっと冷たいです。江田さんはちょ っとガッシリ体系ですが、やさしいです。
Q. $Id: $ とかでconflictしちゃうんですけど...
A. cvs admin コマンドを利用してください。$ cvs admin -ko hoge.patchとすると$Id: $ などは展開されなくなります。すでにキーワードが展開されていたりした場合等には あらためて cvs co しなおしてください。
Q. バイナリは?
A. cvs admin コマンドを利用してください。 bz2 などのバイナリ指定をしたい場合$ cvs admin -kb hoge.bz2としてください。