2012-03-08 16 views
0

バージョン番号の一部としてSVNリポジトリのリビジョン番号を使用するスペックファイルを作成しています。仕様ファイルのリビジョン番号をsvnから取得できません

私は使用している場合:

%(svnversion -c %{sourcedir}) 

をそれから私はPackageNameの-1から209を得る:299はリビジョン番号である299。だから私は "1-209"セクションを切り詰めようとしています。それは一貫して変わっていないからです。

私は問題を抱えている行は、次のとおりです。

%(svnversion -c %{sourcedir} | sed 's/^1\-209://') 

私はこのPackageName209あるから抜け出すように見えるもの:まだ299。

ご協力いただければ幸いです。

答えて

1

あなたは、おそらく別の正規表現しようとする必要があります(ローカルの変更がある場合は、SがMを - それは切り替え作業コピーである場合)はつけませんが、また、最終的には、いくつかの文字を追加することに注意してください、しかし

%(svnversion -cn %{sourcedir} | sed -r 's/.+://') 

を。それらを確認する必要がありますか?あなた次第です。

PS

(svnrevision要求がデータを収集するために、サーバーをsvnのため)現在のリビジョンを取得するためのより高速な方法がありますがhereの説明:

grep revision .svn/entries | awk -F\" '{print $2}' 

しかし、これは、バージョン1.7以降のsvnのために動作しません。 。

関連する問題