2011-02-23 6 views
3

私は文字列のコミットメッセージを検索したいのですが、svn logをgrepにパイプするのは簡単ですが、メッセージとrevが別々の行にあるので、もう少し複雑です。誰もsvnのログ出力のための素敵なawkを持っていますか?

すなわち

svn log。/ | searchSvnMessages.awkのartf29999

------------------------------------------------------------------------ 
r9303 | myuser | 2011-02-22 15:13:47 -0800 (Tue, 22 Feb 2011) | 1 line 

artf29999: Adjusting Skin 
------------------------------------------------------------------------ 
r9302 | myuser | 2011-02-22 14:11:06 -0800 (Tue, 22 Feb 2011) | 1 line 

artf29999: Adding skinning. 
------------------------------------------------------------------------ 
r800 | myuser | 2011-02-22 09:44:36 -0800 (Tue, 22 Feb 2011) | 1 line 

artf29999: Adding functionality. 

私は他の誰かが私が背負う可能性が汚い仕事をしていたことを期待していましたか?

+0

あなたの質問に対する回答が最も良いと思われる場合は、その横のチェックをクリックして回答を受け入れます。あなた自身の評判や他の人々のために良い –

答えて

7

各ログエントリの最初の行を検索する必要があり、GNU grepを使用している場合は、svn log . | grep -B2 artf29999を実行できます。

+0

が完璧です。それは私が必要なすべてです。ありがとうございました。 –

+2

+1 grepのコンテキストフラグ(-A(fter)、-B(efore)、-C(ontext))は、スクリプトが必要な場所で非常に役立ちます。 –

1

svn log ... --xmlを使用してxml出力を取得することもできます。これは解析が簡単な場合があります。また、さまざまなスクリプトバインディングを使用して、解析する代わりに豊富なオブジェクトを取得することもできます。

+0

+1、あなたがPerlに精通しているなら、 'svn log --xml'はXML :: Simpleモジュールとともにsvnログを解析するのを簡単にします。それは私がいくつかのプロジェクトでやったことです。 – jamessan

関連する問題