- cvs-info
平成 13 年度未踏ソフトウェアに採択された、UNIX domain socket を使った
本格的なもの。ただ、今は配布していないみたい。残念。論文の内容は、後
述の情報を得る上でかなり参考になった。
- log, commit_prep/log_accum
cvs の配布物に含まれている perl スクリプト。commit_prep/log_accum は、
一回の変更に対して一通だけメールを送るらしい。ただ、perl はほとんど読
めないので、ちょっとした変更が難しい。
- aftercommit
ruby スクリプト。ディレクトリにまたがった commit をしても一通にしてく
れるが、メールの内容がちょっとバグっている。あと、loginfo の設定で
%{sVv} を "%{sVv}" に変えないとメールが飛ばなかった。ruby-1.4.3 の頃
に作ったようなので、もうスクリプトが古いのかもしれない。
- cvsmailer
中嶋さんという方が作った ruby スクリプト。配布元は見つからなかった。
- cvsmail
cvsmailer ととても良く似た名前の python スクリプト。一回の変更に対し
て複数のメールを送ってしまうかもしれない。python はまったく読めないの
で、少しの変更もできない。
% pwd
/home/masutaka
管理領域を作成
% cvs -d /home/masutaka/CVSROOT init
bin プロジェクトの登録
% mkdir empty
% cd empty
% cvs -d /home/masutaka/CVSROOT import -m "Created bin directory" bin gen start
bin プロジェクトのチェックアウト
% cd
% cvs -d /home/masutaka/CVSROOT co bin
% rmdir empty
これ以降は add => commit で良いはず。
(URL: http://www.tanu.org/~sakane/doc/public/howto-cvs.html)
(URL: http://www1.accsnet.ne.jp/~gen/cvs/cvs-memo.html)
<http://www.swlab.csce.kyushu-u.ac.jp/man/cvs-1.10.7/cvs-ja_toc.html>
# 日付を指定して TEST_BRANCH からチェックアウト。
% cvs co -rTEST_BRANCH -D20040203 src/hogehoge
# もちろん時間も指定できる。
% cvs co -rTEST_BRANCH -D"2004-02-03 12:00" src/hogehoge
# diff も取れるよ。
% cd ~/src/hogehoge
% cvs diff -rTEST_BRANCH -D"2004-02-03 12:00"
% cvs log [ファイル名]
で、過去のリビジョンをみて、削除する直前のリビジョンが 1.x だった場合、
% cvs update -p -r 1.x [ファイル名] > [ファイル名]
p
とかすれば、ローカルにもってこれる。それを再度コミットすれば復活する。
手順としては
1. 過去のリビジョンのファイルをローカルに持ってくる。
% cvs update -p -r 1.x [ファイル名] > [ファイル名]
2. このファイルをとっておく。
% cp [ファイル名] [ファイル名].bak
3. StickyTag を外す。今回はローカルからファイルが削除される。Warning でるけど無視。
% cvs update -A [ファイル名]
4. リネームしたファイルをもどす。
% mv [ファイル名].bak [ファイル名]
5. commit する。
% cvs add [ファイル名]
% cvs commit [ファイル名]
特定の行を最後に変更した場所を表示する。
ソースコードを読むための技術 <http://i.loveruby.net/ja/misc/readingcode.html>
'man co'で CVS/RCS に使えるキーワードの種類が分かる。(ex. $Author$)
(URL: http://www.linux.or.jp/JF/JFdocs/RCS.html)