2017-10-26 12 views
0

特定のSVNコメントと一致するすべてのリビジョン番号を検索しようとしています。それを行う方法はありますか?SVNのコメントに基づいてフォルダ内のファイルのリビジョン番号を表示するにはどうすればいいですか?

以下のコマンドを試しましたが、リビジョンを取得する方法がわかりませんでした。以下のコマンドはちょうどコミットコメント

svn log -v sitesearch | grep 1712 

[1712] testing 
[1712] test 
[1712] testing again 

を返す私は、以下のコマンドを試してみましたが、追加のgrep 1712は、次のパイプにリビジョン番号を渡していないので、私はコメントでフィルタリングするかどうかはわかりません。

svn -v log sitecode/ | grep "^r[0-9]\+ | " | cut -d' ' -f1 | cut -c2- > revisions.csv 

答えて

0

ストレートフォワードコマンドはありません。 私はまだSVNログがいくつかのデータを取得するために解析するのが難しいと思います。

できることは、SVNログをXML形式で取得し、XMLを必要な形式で解析することです。このような

何か:$ SVN_URL

<?xml version="1.0" encoding="UTF-8"?> 
<log> 
<logentry 
    revision="27"> 
<author>xyz</author> 
<date>2017-10-28T08:22:08.015421Z</date> 
<msg>acb edee</msg> 
</logentry> 
<logentry 
    revision="26"> 
<author>xyz</author> 
<date>2017-10-28T07:30:51.364881Z</date> 
<msg>abcdef</msg> 
</logentry> 

--xml

$のsvnログ、きれいではありませんが、でも、XMLパーサなしで、あなたはリビジョンIDとメッセージ

svn log --xml <SVN URL> | grep -E 'revision|msg' | sed 's/revision="//g' | sed 's/">//g' | sed 's/<msg>//g' | sed 's/<\/msg>//g' 
を得ることができます

このようなもの:

27 
acb edee 
    26 
abcdef 
    25 
ab 

整形式または出力フォーマットの要件に応じて、もう一度アクションを実行する必要があります。

関連する問題