3

私は常に svn log コマンドを使用します。たとえばsvn log -rXXXX:YYYY、SVN リポジトリ内の 2 つのタグ間のコミット メッセージを取得します。

私が時々見つける問題は、コミットメッセージの正確なリストを抽出する前に、その環境にリリースされたことのないブランチからタグをリリースすることを含む大規模なリリースを行う場合です。

たとえば、01.02.03 (r4152) と 01.03.02 (r4272) の違いをリリースしたいのですが、通常svn log -r4152:4272はここでの明らかな答えのように見えるかもしれませんが、02.03ブランチは (とにかくこの環境に対して) 以前にリリースされたことはありません。したがって、01.03.01にはタグ 01.02.03 より前の4126のリビジョンがあることに注意してください。

そのため、最初からブランチからコードをリリースしている01.03ため、数値的なリビジョンの違いだけでなく、このブランチで適用可能なすべてのリビジョン メッセージを抽出できる必要があります。

svn logコマンドでこれを行う方法はありますか?

4

1 に答える 1

0

あなたの要求を 100% 理解しているかどうかはわかりませんが、まだ理解していない場合は、以下を検討してください。

以下では、logさまざまな場所から参照したコマンドを使用して、必要なものを取得しようとします。もちろん、これはSVNディレクトリ構造に依存するため、セットアップの方法によっては役立つ場合とそうでない場合があります。

たとえば、SVN リポジトリが次のようになっているとします。

 /someproject
    /devbranch
    /01.02.03release
    /01.03.02release
    /somethingneverused

その後、ローカル フォルダーにマップすると、コマンド ラインからそのフォルダーに移動し、そのディレクトリとそのサブディレクトリからコマンド/someprojectを実行できるようになります。svn log -r4152:4272レベル以下のアイテムのみがログに表示されます。

/someprojectこれで十分でない場合は、何らかのロジックを使用してすべてのログを取得し、スクリプトを実行してログを削除することができます。/someproject/somethingneverused

于 2014-08-01T21:31:56.787 に答える