svnのpre-lockスクリプト(windows)
@echo off
rem "@echo off"は先頭に必要です。
set PATH=C:\Windows;C:\Windows\system32;
cscript //nologo %~dp0_pre-lock.wsf %1 %2 %3 %4 %5
if ERRORLEVEL 1 goto fail:success
exit 0:fail
exit 1
さらに上記では、wsfを呼び出している。そこももし表示するようにしていればエラーになるので注意。以下はその_pre-lock.wsfの内容。
<?xml version="1.0" encoding="Shift_JIS" standalone="yes" ?>
<package>
<job id="SvnPreLock">
<?job error="True" debug="True" ?>
<object id="objFs" progid="Scripting.FileSystemObject" />
<script language="jscript">
<![CDATA[
//WScript.echo("OK!");//pre-lockではechoを出してはいけない
//WScript.Quit(1);//異常終了
WScript.Quit(0);//正常終了]]>
</script>
</job>
</package>
追記:
上記にエラー処理も入れた場合、エラーのとき「ロックが pre-lock フックによって妨げられました (終了コード: 99)。出力はありません。」と出てしまいます。
何のエラーかわかるようにしたいと思い、無理やりバッチファイルでメッセージを標準エラーに出力。
@echo off
rem "@echo off"は先頭に必要です。
set PATH=C:\Windows;C:\Windows\system32;cscript //nologo %~dp0_pre-lock.wsf %1 %2 %3 %4 %5
if ERRORLEVEL 2 goto fail
if ERRORLEVEL 1 goto fail1:success
exit 0:fail1
@echo on
echo コメントを入力してください。>&2
exit 99:fail
exit 1
標準エラーに出力してもいいのかよくわかってませんが、とりあえず思惑通りの動き。
「ロックが pre-lock フックによって妨げられました (終了コード: 99)。出力:
コメントを入力してください。」のように表示されます。
| 固定リンク
「Subversion」カテゴリの記事
- TortoiseSVNでの変更ファイル等をcopyするwsf(2012.08.21)
- svnのpre-lockスクリプト(windows)(2012.08.15)
- Subversionでのリビジョン削除(2012.08.13)
- subversionのコミットログを検索して置換(2010.09.02)
- subversionリポジトリを別のPC/サーバに移すときやること(2009.10.22)
「JavaScript」カテゴリの記事
- クリップボードにアクセスするスクリプト(2012.08.28)
- TortoiseSVNでの変更ファイル等をcopyするwsf(2012.08.21)
- svnのpre-lockスクリプト(windows)(2012.08.15)
- WSHでプログラムを実行する際のコンソールウィンドウを非表示に(2012.08.12)
- flotのx2axisを使って(2010.03.12)
この記事へのコメントは終了しました。
コメント