CVS で import したファイルのリビジョンは 1.0 じゃなかった

現在担当している案件でお客さんから「追加したファイル、変更したファイルの一覧が欲しい」とのリクエストがあった。ソースコードのバージョン管理に CVS を使っているので「現在のリビジョンと 1.0 を diff すればいい」と思っていたのだが、

  • import したファイルのリビジョンは 1.1
  • 新規に add+commit して、その後、commit しなかったファイルのリビジョンは 1.1

であるため、両者の区別がつかない。

てっきり、リビジョンは 1.0 から振られると思っていたんだけど、そうじゃないのね。

hello.txtを追加します


C:\work\myproject> cvs add hello.txt
cvs add: scheduling file `hello.txt' for addition
cvs add: use 'cvs commit' to add this file permanently
コミットしてリポジトリに反映します


C:\work\myproject> cvs commit -m "Add hello.txt."
cvs commit: Examining .
RCS file: c:\home\cvsroot/myproject/hello.txt,v
done
Checking in hello.txt;
c:\home\cvsroot/myproject/hello.txt,v <-- hello.txt
initial revision: 1.1
done


C:\work\myproject> cvs update
cvs update: Updating .

CVSの基礎練習

こういう差分が欲しい場合、import した直後にタグ付けしておかないと比較できないってのはホントか?結局は両方のリビジョンをチェックアウトして diff したのだが、どうもスッキリしない。cvs のみで出来そうなものだけどどうやるんだろう?


どうやら CVS ではなく Subversion を使っておけば簡単に調べられたっぽい。

バージョン番号(リビジョン番号)はソースツリー全体に対して振られるため、原則としては誰かがソースツリーのどこかのファイルを更新する度に番号が増えてゆく。(CVSではファイル毎にリビジョン番号がつけられている。)

Apache Subversion - Wikipedia