17

プロジェクト内の多数のファイルに一連の変更を加えました。すべてのコミット (通常はファイル レベル) には、何が変更されたかのコメントが付随していました。

最後にタグ付けされたバージョン以降の変更に関するこれらのコメントのリストを CVS から取得する方法はありますか?

Eclipse CVSプラグインを介してこれを行うことができればボーナスです。

更新:ここで回答を受け入れたいと思いますが、残念ながら私が探している回答はありません。率直に言って、それが実際に可能だとは思いません。これは、バージョン間の変更リストを作成するための優れた方法になる可能性があるため、本当に残念です (すべてのコミットが適切な粒度で行われ、意味のあるコメントが含まれていると仮定します)。

4

5 に答える 5

8

おもう

cvs -q log -SN -rtag1:::tag2 

また

 cvs -q log -SN -dfromdate<todate  

あなたが望むことをします。これは、変更されたファイルについてのみ、2 つのタグまたは日付の間に行われたすべての変更のすべてのバージョンとコメントを一覧表示します。タグの場合、3 つのコロンは最初のタグのコメントを除外します。詳細についてはcvs -H、ログを参照してください。

于 2012-04-02T19:21:03.237 に答える
5

単一のファイルですばやく結果を取得したい場合は、このcvs logコマンドが適しています。より包括的なものが必要な場合、これに最適なツールは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

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

于 2008-10-31T16:25:21.640 に答える
5

cvs log コマンドのオプションは、ここで利用できます。具体的には、特定のタグ以降のすべてのコミットを取得するには (VERSION_1_0 と呼びましょう)

cvs log -rVERSION_1_0:

あなたの目標が最後のタグの名前を知らなくても機能するコマンドを持つことである場合、現在のブランチのログを取得し、解析してタグを見つけ、ログコマンドを発行するスクリプトを作成する必要があると思いますそのタグに対して、しかし、私はかなり前にすべてをCVSから移行したので、私の記憶は少し錆びているかもしれません.

于 2008-10-31T07:31:32.377 に答える
3

私はあなたがすでにあなたの問題を「解決」していることを知っていますが、私は同じ問題を抱えていて、特定のリビジョンから最新までの cvs からすべてのコメントをすばやく取得した方法を次に示します。

$ mkdir ~/レポ
$ cd ~/レポ
$ mkdir cvs
$ cd cvs
$ scp -pr geek@avoid.cvs.org:/cvs/CVSROOT .
$ mkdir -p マイ/お気に入り
$ cd 私の/お気に入り
$ scp -pr geek@avoid.cvs.org:/cvs/my/favorite/project .
$ cd ~/レポ
$ mkdir -p ~/repo/svn/my/favorite/project
$ cvs2svn -s ~/repo/svn/my/favorite/project/src ~/repo/cvs/my/favorite/project/src
$ mkdir ~/work
$ cd ~/作品
$ svn チェックアウト ファイル:///home/geek/repo/svn/my/favorite/project/src/trunk ./src
$ cd ソース
$ # リビジョン 5 から今日までのコメントを取得
$ svn ログ -r 5:HEAD
$ # 2010-07-03 から今日までのコメントを取得
$ svn ログ -r {2010-07-03}:HEAD

基本的な考え方は、cvs の代わりに svn または git を使用することです :-) そして、cvs2svn または cvs2git を使用して cvs リポジトリを svn または git に変換することで実現できます。リポジトリが小さかったので、約 3 分以内に回答が得られました。

それが役立つことを願っています。

于 2011-01-05T22:44:13.797 に答える
3

このようなもの

cvs -q log -NS -rVERSION_3_0::HEAD

出力を egrep にパイプして、見たくないものを除外したい場所。私はこれを使用しました:

cvs -q log -NS -rVERSION_3_0::HEAD | egrep -v "RCS file: |revision |date:|Working file:|head:|branch:|locks:|access list:|keyword substitution:|total revisions: |============|-------------"
于 2011-03-11T09:46:13.650 に答える