cvs commit -r #2006年11月08日 12時03分56秒


% cvs ci -h
ci: invalid option -- h
Usage: cvs commit [-Rlf] [-m msg | -F logfile] [-r rev] files...
    -R          Process directories recursively.
    -l          Local directory only (not recursive).
    -f          Force the file to be committed; disables recursion.
    -F logfile  Read the log message from file.
    -m msg      Log message.
    -r rev      Commit to this branch or trunk revision.
(Specify the --help global option for a list of other help options

cvs -r rev で、リビジョン番号を上げることが出来る。

cvs を使い始めると、1.1 から始まり、そのまま使い続けると、1.2、 そして 1.3 と上がっていく。*BSD などでは、ずっと 1.x を使っている。

最近は他のオープンソースのプロジェクトをたくさん覗いているわけではないが。昔よく目にしたコードの CVS リビジョンは、1.x だったと記憶している。

どのような、ブランチリリースの方針にもよるが、リリース番号と、CVS のリビジョン番号を合わせる手もある。

メイン・トランクにて開発を行ない、安定版用にブランチを切る例だ。


% cvs tag -b release_1
% cvs commit -r 2.0
...
% cvs tag -b release_2
% cvs commit -r 3.0
...

release_1 で 1.x リリースを行ない、release_2 で、2.x リリースを行なう。そして、CVS のリビジョン番号も、各 1 と 2 で始まるようにする。

CVS リビジョン番号は、ただの通し番号なのでそれ以上をそろえようとするのは、労力の無駄にしかならないが、リリース番号と先頭の番号を合わせるのは、直観的にもわかりやすい。

欠点としては、1.x から 2.x へ cvs update などをすると全てのファイルが更新された事になり、実質的には何も変わらないソースでも、全てをコンパイルし直す事が上げられる。