[Subversion][備忘録][Unix]svn updateコマンド以外でリビジョン番号を抜き出す
あらすじ
svnのリビジョン番号だけ抜き出したい。アップデートなしで! svn updateするとリビジョンは出てくれるんだけど、アップデート走らせないようにリビジョン番号だけ抜き出したい。
$ svn up
リビジョン 111 です
続編
以下はとてもめんどくさい方法での実現となります。
試行錯誤
svn log
svn logで表示したリビジョンを抽出する。limit N で出力するログを制御。
$ /usr/local/bin/svn log --limit 1
------------------------------------------------------------------------
r111 | kk_Ataka | 2011-12-17 11:51:11 +0900 ((金), 17 12月 2011) | 3 lines
コミットログ
...
...
まずは最新ログをひとつだけ取得。
grep
次にリビジョンが記載してある行だけ抽出。
$ /usr/local/bin/svn log --limit 1 | grep ^r.*lines$
r111 | kk_Ataka | 2011-12-17 11:51:11 +0900 ((金), 17 12月 2011) | 3 lines
sed
最後にその行からsedコマンドで「rXX」だけを抜き出し。
$ /usr/local/bin/svn log --limit 1 | grep ^r.*lines$ | sed -e "s/^\(r[0-9]*\) .*/\1/g"
r111
めんどくさ! なんか使ったことないコマンドから一発で出せる気がする……。