1

SQL 2005 で sqlcmd.exe を使用して SQL の変更をデータベースに適用する Windows XP w/service pack 3 ワークステーションから実行しているバッチ ファイルがあります。

次のように、 TortoiseSVNがリポジトリのローカル コピーを自動的に更新するためのコマンド ライン エントリがあります。

tortoiseproc /command:update /path:"C:/SVN/My Code/Dev/2009.07.23" /closeonend:3

ドキュメントによると、/closeonend:3オプションを指定すると、更新中にエラー、競合、またはマージが発生した場合、TortoiseSVN ダイアログ ボックスが開いたままになります。

そのようなことが発生し、ユーザーが問題を解決せずにダイアログを閉じると、特定のブランチのテスト データベースに適用する必要がある変更が省略される可能性があります。

更新後にエラー、競合、またはマージが発生して TortoiseSVN ダイアログ ボックスが閉じられると、ERRORLEVELはゼロ以外の値に設定され、バッチ ファイルの残りをバイパスできるようになりますか? それとも、コードが完全に正しくない場合でも、ジョブが正常に完了したことを示すために喜んで0を返しますか?

4

2 に答える 2

1

古い質問ですが、今日同じことに遭遇し、解決策があります...

TortoiseProc は、エラーの場合は -1 を返し、成功の場合は 0 を返すため、次のようにして問題を解決しました。

TortoiseProc /path:"%targetdir%" /command:update /closeonend:3
IF %ERRORLEVEL% NEQ 0 goto SvnError

:SvnSuccess
echo It worked!
goto Done

:SvnError
echo It didn't work!

:Done
于 2011-02-03T21:21:31.687 に答える
0

バッチ ファイルで他のアクションを実行する前に、ローカルの SVN リポジトリを手動で更新することになりました。

于 2010-03-24T15:14:14.810 に答える