2009-05-08 8 views

答えて

1

(それが以前と呼ばれていたとして、あるいはViewCVSが)私たちは、簡単のViewVCを使用してこれを行うことができますあなただけのチェックアウト古いバージョンができます。これは、さまざまな方法で簡単にクエリできるすべてのファイルとそのコミット(コメントと作成者を含む)のSQLデータベースを構築することです。

http://www.viewvc.org/からダウンロードできます。 /var/lib/cvsは、リポジトリの場所です

cvsdbadmin rebuild /var/lib/cvs 

:あなたはcvsdbadminツールを使用してコミットする既存のリポジトリをインポートするデータを格納し、CVSサーバ上の物理的なリポジトリのディレクトリへのアクセス権を持っているMySQLサーバをセットアップする必要があります。データベース接続情報は、ViewVC設定ファイルに格納されます。

リポジトリのサイズによっては、数秒から数時間の間に実行される可能性があります。完了後、通常のSQL照会ツールを使用して、コミットに関するあらゆる種類の情報を調べることができます。これを使用して、変更ログを非常に迅速に生成します。 CVS loginfo script(ViewVCにも含まれています)を使用して、誰かがCVSにファイルをコミットするたびに、データベースをオンザフライで更新します。

偶然に何かをコミットした場合にも非常に役立ちます(this blog post参照)。 CVSのコミットはトランザクションではないので、これを理解するのは難しいことです。

1

(ここでは、私は1年前の日付として2008-05-08を使用)、昨年に変更し、私はこれを行うに考えることができる唯一の方法は、すべてのファイルのリストを取得することです:

cvs history -c -D2008-05-08 

現在リポジトリにあるすべてのファイルのリストと比較することができます。 cvs historyによって生成されたリストにないものは、昨年修正されていません。

0

同じファイル(--report-identical-files)を表示するCVS diffオプションは、少なくとも私にとっては壊れているようです。

cvs co -D "1 year old" proj 

と同一のファイルを見つけるために、古き良き差分を使用します:

diff --recursive --report-identical-files --brief | grep identical 
1

リポジトリにアクセスできる場合は、検索を実行して、最終更新日が1年以上前のファイルを検索できます。 CVSでは、各ファイルに対応するリポジトリファイルがあります。 (これはリポジトリが不透明なフォーマットであるため、Subversionでは動作しません)

関連する問題