2008-09-17 32 views
5

私はWinCVSのフロントエンドを使ってWindows上でCVSを使用していますが、ビルドが失敗したときには、自動化されたビルドプロセスからの電子メールへの最後のチェックインの詳細を修正しやすくします。最後のチェックインの詳細を知るためにCVSコマンドラインオプションを知っている人はいますか?

変更されたファイル、変更したユーザー、およびコメントを知る必要があります。

私は、コマンドラインオプションをうまくしようとしているが、正確な結果を得るように見えることはありません(むしろちょうど1つのチェックインからよりも、あまりにも多くの結果を得る、または2週間前からで、いくつかのランダムなチェックの詳細のいずれか)

てきた

+0

私は(他の多くの利点と一緒に)この些細な問題になり、この質問を、掲示するのでSVNへのアップグレード以来、私たちがしました。私はアップグレードをお勧めします! –

答えて

1

Wow。

これがどれほど難しいのか忘れてしまいました。私が前にしたことは2段階のプロセスでした。まず

、過去7日間ですべてのチェックインについての情報を収集し、送信されたメールの一部を作成するために使用されるスクリプトを生成するために

cvs history -c -a -D "7 days ago" | 
    gawk '{ print "$1 == \"" $6 "\" && $2 == \"" $8 "/" $7 "\" { print \"" $2 " " $3 " " $6 " " $5 " " $8 "/" $7 "\"; next }" }' > /tmp/$$.awk 

を実行しています。

次に、壊れたファイルを含むディレクトリのCVS/Entriesファイルをトラブリングして詳細を取得しました。

2人を突っ込んで私に犯人を指名し、ビルドを壊したことを知らせる電子メールを彼らに送りました。

申し訳ありませんが、この回答は私が望むほど完全ではありません。

+1

は、そうでない場合は、「CVS [サーバー中止さ]:履歴ログがこのリポジトリで有効になっていない」、有効になっている –

1

CVSはこの機能を提供していません。しかし、FishEyeのライセンスを購入したり、おそらくCVSTrac(注:私はCVS Tracを試していません)を使ってライセンスを購入することができます。

また、アトミックコミットを使用してこの機能を提供するSVNに移行することもできます。ファイルのグループをチェックインして、単一のコミットとして数えることができます。 CVSでは、あなたが何をしていても、各ファイルは別々のコミットです。

2

CVSは他のバージョン管理システムと同様に変更セットをグループ化しません。各ファイルには独自の独立したバージョン番号と履歴があります。これは、新しいVCに移行するよう促すCVSの欠点の1つです。

つまり、目標を達成する方法があります。最も簡単なのは、電子メールを送信するか、ファイルにログするためにコミット後のフックを追加することです。少なくとも、電子メールが送信された時刻と変更された時刻を調べることによって、コミットセットをグループ化することができます。

0

"cvs history -a -l"を閉じると表示されますか?プロジェクトごとにすべてのユーザーの最後のイベントを表示します...

+0

これは私が試みたものですが、それは〜40の結果を返しました!オプションの「歴史」を仮定し –

1

これは、changelogをダンプするperlスクリプトによって行いました。そして、あなたは、2番目のリンクでWindows用のperlの無料版を入手することができます。

Cvs2Cl script

Active Perl

0

CVSNTは、ログ内のタグの代わりに使用することができますcommit IDs、チェックアウトをサポートしていますまたは更新コマンド。コミットされたファイルの各セット(コミットはCVSNTでは不可分です)は、独自の一意のIDを受け取ります。あなたは、他のファイルは、そのIDを持っているクエリを(あなたは-d「1時間前」または類似を介して出力を制限することができます)最初のCVSログを経由してファイルをチェックイン最後のcommitidを決定しなければなりません。

0

EclipseにはChangeSetが組み込まれています。コミットによって最後の変更(少なくとも受信した変更を更新)を参照できます。これは、コミットを作成者、コミットメッセージ、および同様のタイムスタンプでグループ化することで行います。

これは、[分岐、タグ、および日付]を選択できる[別の分岐またはバージョンと比較]でも機能します。 「Change Sets」のポップアップメニューの同期ビューのアイコンを見て、自分で確認してください。

編集:これは、少なくともビューアとしてEclipseに変更することが必要であろうが、あなたは比較する必要があり、周波数やグループに応じて、それがあまりにも悪くないかもしれません。より多くのものを使いたくなければ、CVSのためだけにEclipseを使います。

0

はこれが解決される問題ではないです...でも、すべてのプラグインとRCPを通じてまともなサイズのグラフィカルCVSクライアントを取得することは可能であってもよいが、this'd間違いスコープの外にすべきですか?私は、CVSと電子メール通知の両方をサポートしているCI Matrixのいくつかのツールのどれかがこれを行うことができると思います。

関連する問題