2009-10-07 9 views

答えて

0

cvs logすべてを返します。あなたは「最後のNリビジョンを」(ここでは、私もcvs log HEADを言うことができない)と言うことはできませんので、2つのオプションがあります。

  1. 使用head -N N一番上の行を取得(UnixやCygwinの場合のみ)

  2. は、CVSの実装のバージョンごとに個別のファイル以降の日付とcvs log -d DATE

0

を使用して、私はあなたがそれぞれのファイルを通って、最新であるかを判断するためにコミットのタイムスタンプを比較する必要があるだろうとします。これをCVSがコミットセットの概念をサポートしていないという事実と組み合わせることで、同じコミットタイムスタンプを持つたくさんのファイルを得ることができます。だから、どれが最新ですか?あるいは、ログファイルに書き込んだコミットフックを作成し、それを使って最新のコミットを判断することもできます。

おそらく分かっているように、これらのどちらも特に選択の余地がありません。モジュールレベルでは、常にタグと比較することを強くお勧めします。十分な重要な改善が行われたとき(例えば、毎日のビルド、テスト環境への展開など)にモジュールにタグを付けることを含むソフトウェアプロセスを確立し、作成したタグを比較ベースラインとして使用する。あなたが作業コピーせずに

  • cvs rdiffコマンドを使用して、タグに対する最新の変更を差分の達成することができます

    、または作業コピーのトップレベルで

  • cvs diffコマンド

完全なリファレンスについては、CVSのマニュアルを参照してください。

8

おそらくhistoryコマンドを使うことができると思います。

cvs history -c -D 2012-04-01 -a 

上記の例は、(リストは長さに制限されるように...指定)指定した日付以降のすべてのコミットを示していますのようなものを試してみてください。

-cは、コミットを意味し、 -aはすべてのユーザーを意味します。

タイムスタンプとユーザが同じコミットは、明らかに同じコミットから得られます。次に、そのコミットのログメッセージを読むことができます

cvs log -r <version> <file> 

特定のコミットからファイルのいずれかを選択するだけです。履歴出力にもそのファイルのバージョンがあります。最後に、私はここで

cvs diff -D "<date 1>" -D "<date 2>" 

を使用する差分を見て、「日付1」と「日付2」は直前のタイムスタンプである必要があり、ちょうどコミット後。注意してください(私が知っている限り)、これはあなたが支店で作業している場合は動作しません(??)。それは私が推測する別の質問の話題になります。

関連する問題