ももらぼっ!にっき


2008年09月24日 [長年日記]

_ [Tips] SubversionのHEADのリビジョン番号を環境変数に取得するバッチ。

Windows環境でバッチを書く際にちと悩んだので備忘録として。

REM svnのリビジョンを取得
:GET_REVISION
    FOR /F "tokens=1,2 delims= " %%I IN ('svn info -r%1') DO IF "%%I" == "Revision:" SET %1_REVISION=%%J
GOTO :EOF

使う際はこんな感じ。

CALL :GET_REVISION HEAD
ECHO %HEAD_REVISION%

svnコマンドが日本語化されている環境では、svn infoの結果を参考にしつつ"Revision:"のところを書き換えてあげればOKです。 HEAD以外にもCOMMITTEDとかBASEとかも同じようにいけます。 もっといい方法がありそうなんだけど、今のところうまくいっているのでこれで良しとします。

尚、事前にsvn updateしてよければ、svnversionの結果を受け取ればOKなので、こんな面倒なことしなくてよかったりします。