質問
CVSの2つのタグ間で変更されたすべてのファイルをリストする方法はありますか?
リリースを行うたびに、そのリリースのすべてのファイルにタグを適用します。リリース間で変更されたすべてのファイルを検索したい。
2つの日付の間に変更されたすべてのファイルを見つけることができた場合にも機能します。
解決
このコマンドが役立つと思います:
cvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 > diffs
RELEASE_1_0
および RELEASE_1_1
はタグの名前です。
cvs diffコマンドの詳細については、こちらをご覧ください。 a>
さらに、レポートをあなたのニーズにより適したものにするスクリプトを作成するのはかなり簡単です。例:変更されたファイルの数、削除されたファイルの数など。私が知っている限り、最も一般的なcvs GUIツール(wincvsとtortoise)はすぐにこのようなものを提供しないでください。
役立つ;)
他のヒント
rdiff
および -s
オプションの使用を好みます
cvs rdiff -s -r RELEASE_1_0 -r RELEASE_1_1 module > diffs
rdiff
はサンドボックスを必要としません。 -s
は、変更の概要を示します。
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
標準の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
を比較するリビジョンに置き換える場所。
cvs log -d ">=DATE" -N -S -R > cvs.log
DLiraのメソッドは、すべての変更を含む多くの詳細を提供します。
ファイルのリストを取得するだけで、これは機能します:
cvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 | grep "Index:" > diffs
このために見つけた最良のツールは、 cvs2cl.pl 。これにより、いくつかの異なる形式の変更リストを生成できます。これには多くの異なるオプションがありますが、タグ間オプションを次のように使用しました:
cvs2cl.pl --delta dev_release_1_2_3:dev_release_1_6_8
または
cvs2cl.pl --delta dev_release_1_2_3:HEAD
同じツールで日付を使用して比較も行いました。