web-dev-qa-db-ja.com

CVS:タグ(または日付)の間で変更されたすべてのファイルをリストします

CVSの2つのタグ間で変更されたすべてのファイルをリストする方法はありますか?

リリースを行うたびに、そのリリース内のすべてのファイルにタグを適用します。リリース間で変更されたすべてのファイルを検索したい。

また、2つの日付の間に変更されたすべてのファイルを見つけることができれば機能します。

56
roomaroo

このコマンドが役立つと思います:

cvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 > diffs

ここで、RELEASE_1_0およびRELEASE_1_1はタグの名前です。

Cvs diffコマンドでもう少し情報を見つけることができます here

加えて、レポートをあなたのニーズにより適したものにするためのスクリプトを作成するのはかなり簡単であるべきです。例えば、変更されたファイルの数、削除されたファイルの数などです。すぐにこのように。

それが役に立てば幸い ;)

34
Decio Lira

rdiff-sオプション

cvs rdiff -s  -r RELEASE_1_0 -r RELEASE_1_1 module > diffs

rdiffはサンドボックスを必要としません。 -sは、変更の概要を示します。

24
Sally

CVSを使用して2つの日付間のファイルのリストを取得するには:

cvs diff -N -c -D YYYY-MM-DD -D YYYY-MM-DD | grep "Index:" > diff.out

-Dフラグの有効な日付の詳細: http://docs.freebsd.org/info/cvs/cvs.info.Common_options.html

17
Michael

標準のcvsコマンドを使用して、バージョン間で変更されたファイルのリストを取得するには:

cvs -q log -NSR -rV-1-0-69::V-1-0-70 2>/dev/null >log.txt

または、コミットコメントのリストを取得するには、-R

cvs -q log -NS -rV-1-0-69::V-1-0-70 2>/dev/null >log.txt

交換する場所V-1-0-69およびV-1-0-70と比較するリビジョンを指定します。

11
Taufiq
cvs log -d ">=DATE" -N -S -R > cvs.log
8
tkrille

DLiraの方法は、すべての変更を含む多くの詳細を提供します。

ファイルのリストを取得するだけで、これは機能します。

cvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 | grep "Index:" > diffs
4
roomaroo

これに最適なツールは、 cvs2cl.pl というPerlスクリプトです。これにより、いくつかの異なる形式の変更リストを生成できます。多くの異なるオプションがありますが、私はこのようなタグ間オプションを使用しました:

cvs2cl.pl --delta dev_release_1_2_3:dev_release_1_6_8

または

cvs2cl.pl --delta dev_release_1_2_3:HEAD

また、同じツールで日付を使用して比較を行いました。

1
Alex B