CVS
CVS利用のTips
ソースツリー階層の一部分をとりだす
CVSROOT/modulesに追加すればよい
CVSROOTを直接いじるのは危険なので、CVSROOTをcvsでcheckoutして書き込む
% cvs checkout CVSROOT
modulesにたとえば、大きなモジュールfooの下のbarを取り出したい場合には
bar foo/barと記述しcommitすれば以降は
% cvs checkout bar
とできる
モジュールのリストを取得
追補編 に書いてあるのだけど
modulesに設定していないモジュールのリストが欲しいときは
% mkdir temporally-working-directory % cd temporally-working-directory % mkdir CVS % echo . > CVS/Repository % cvs -d $CVSROOT update -r00 -d -p
でいいらしい
その他覚書
特定のバージョンのものを取り出したい
% cvs co -r release-1-2 -d hoge.release-1.2 hoge
これで、hogeのrelease-1-2をhoge.release-1.2以下に取り出すことができる
新しいタグを打ちたい場合
% cvs tag relase-1-3
ブランチを切りたい場合
% cvs tag -r release-1-3
参照をもつ場合
% cvs rtag -r release-1-3
編集してtagを切りたい場合
tag打ってあるバージョンにはそのままcommitすることはできません。
新しくtagをきりなおして、生成します。
たとえば、
% cvs tag -b release-1-13-5 % cvs update -r release-1-13-5
tagを切りなおしたら、そのtagで、updateします。
これをしないと、sticky〜というエラーがでるはずです。
このあとは、いつもどおり、commitできます
% cvs commit
ほかのリビジョンのソースをマージしたいとき
たとえば、currentでrelease-1-13-5のconfig.xmlでの変更点をマージしたい場合、
% cvs update -j release-1-13-5 etc/config.xml