1

それに関連するメッセージの一部を提供する場合、svn からリビジョン番号を取得するスクリプトを作成する簡単な方法があるかどうか疑問に思っています。

例: メッセージに「追加されたメソッド A」が含まれていることを知っています。そのメッセージは、変更をコミットした後に書き込まれました。それに関連付けられたリビジョン番号を覚えていない場合、ログを介して手動で準備せずに、プログラムで (スクリプト/バッチ) 関連するリビジョン番号を取得したい場合)

4

2 に答える 2

1

TortoiseSVN には検索ボックスがあります。関心のあるリポジトリのディレクトリのログを開きます。ディレクトリが不明な場合は、リポジトリ ルートのログを取得します。

ログをプルアップする方法:

  • TortoiseSVN リポジトリ ブラウザを開き (右クリック、TortoiseSVN->Repo-Browser)、リポジトリの URL を入力します。

  • リポジトリのルートを右クリックし、[ログを表示] をクリックします。

パフォーマンス上の理由から、TortoiseSVN は最初は最後の 100 リビジョンのログのみを表示します。変更がそれよりも古いと思われる場合は、[範囲を表示] ボタンをクリックして、特定のリビジョン範囲のログを表示するように指示できます。リビジョン 0 から HEAD (最新) までと言うだけで、リポジトリ内のすべてのリビジョンが取得されます。

ログ ウィンドウの上部には検索バーがあります。探しているテキストを入力すると、それが見つかるはずです。

于 2010-01-26T18:05:37.647 に答える
1

あなたが使用することができます:

svn log | grep -B 3 "added method A"

grep コマンドのオプション -B <NUM> は、一致する行の前に先行コンテキストの <NUM> 行を出力します。したがって、ログ エントリのヘッダーにリビジョン番号が表示されます。

この例では、テキスト パターンが「#internal」のリビジョンを検索します。

$: svn log $svnurl | grep -B 3 #internal
------------------------------------------------------------------------
r1459 | user001 | 2015-07-22 15:52:54 +0200 (Wed, 22 Jul 2015) | 1 line

#internal
------------------------------------------------------------------------
r1457 | user001 | 2015-07-21 13:47:19 +0200 (Tue, 21 Jul 2015) | 1 line

#internal
$:
于 2015-07-23T08:49:34.630 に答える