2009-07-23 75 views
1

SQL 2005でsqlcmd.exeを使用してデータベースにSQL変更を適用するWindows XP Service Pack 3ワークステーションから実行しているバッチファイルがあります。TortoiseSVNと "IF ERRORLEVEL"?

私はコマンドラインのエントリがあります自動的にそのように私のリポジトリのローカルコピーを更新するTortoiseSVNのthe documentationによると

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

/closeonend:すべてのエラー、競合やマージが中に発生した場合3オプションは、オープンTortoiseSVNのダイアログボックスを終了します更新。

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

TortoiseSVNのダイアログボックスがエラーの場合には閉じて、紛争、または更新以下のマージ、ERRORLEVELバッチファイルの残りの部分をバイパスするために私にできるように、いくつかのゼロ以外値に設定されます?それとも、それがうまくコードを正しくない場合でも正常にその仕事をしたことを示すを喜んで返しますか?

+2

私は実際にこれをテストします。 C:\ Temp \ Svnなどのダミーリポジトリをローカルに作成し、2つのディレクトリにチェックアウトし、そのうちの1つにファイルを追加してコミットし、次にもう一方を更新し、両方でファイルを変更し、1つをコミットして、何が起こるかを見るために他のバッチファイル。 –

+0

なぜ 'svn.exe'を使わないのですか?何か不足していますか? – sbi

+0

これは私の最初の考えでしたが、TortoiseとSVNの両方を継続的に維持する必要はなく、Tortoiseの実行可能ファイルを使用してそのすべてを実行しようとしました。誰かが微妙に痛みを伴う方法でもう一方の機能を爆発させる、ある時点で何らかの変更を加えるかどうかを知っている人もいます。 –

答えて

0

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

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