2013-10-27(Sun)

TortoiseSVNでコミット時に別ソースへリビジョン番号埋め込み

TortoiseSVNで何かのファイルをコミットした時に、リビジョンNo.定義用のソースも更新するというメモ。

コマンドラインの SubWCRev.exe (TortoiseSVN付属)を使用する。
Usage: SubWCRev WorkingCopyPath [SrcVersionFile DstVersionFile] [-nmdf]
SrcVersionFile 中の $WCREV$ がリビジョンNo.に置換されて DstVersionFile に書きだされる。

ということで、まず元となるファイルが要る。
本来必要になるソースが revinfo.inc のようなら、
revinfo.inc
const revno=1234;

次のようなファイル revinfo.rev を作成する。
revinfo.rev
const revno=$WCREV$;

ひとまず実験。
コマンドラインで以下を実行して、最新のリビジョンNo.が埋め込まれた revinfo.inc が出来たら成功。
>SubWCRev 作業コピーのパス revinfo.rev revinfo.inc


次に、このコマンドのバッチを作成。
(バッチにしておくと、リビジョンNo.更新以外にも色々できる。必要なければ作らなくていい。)
revup.bat
SubWCRev 作業コピーのパス revinfo.rev revinfo.inc


最後にTortoiseSVNにフックを定義。
TortoiseSVNの設定を開く。
tsvn_revup01.png

フックスクリプトから、追加をクリック。
tsvn_revup02.png

・Post-Commitフック(コミット完了時:成功失敗問わず)を選択
・フックしたい作業コピーのパスを指定
・実行するコマンドラインで、バッチ(またはコマンド)を指定


以上でプロジェクト内の何れかのソースをコミットすると、リビジョンNo.定義用のソースも更新されるようになった。

むはーSubWCRev.exe、リリースコンパイル前とかに仕掛けておくのもいいなと思った。

コメントの投稿

管理者にだけ表示を許可する

コメント

プロフィール

nakami

Author:nakami
可愛いテンプレートに似合う俺
うそAチームのスミス大佐

NAVI
カテゴリー
最近の記事
リンク
FC2カウンター
ブログ内検索
RSSフィード
sponsored link