実現したいこと
どんなに大きなデータでもエラーで止まることなく、svn更新を成功させたい!
エラー内容
TortoiseSVNで行う更新の途中で「~is already locked lease execute the 'Cleanup' command」とエラーメッセージが表示され、クリーンアップを行ってから再び更新を行うも、同じエラーが発生してしまう。
更新〜クリーンアップの自動化手順
-
普段はTortoiseSVNを使ってGUIで直感的に操作してる君も、svnのコマンドをコマンドラインで利用できるようにするために以下のリンクで「Apache Subversion command line tools」をダウンロードしましょう。
Apache Subversion command line tools -
環境変数のPathにダウンロードした「command line tools」の中にあるbinフォルダのパスを通しましょう(語尾にでも追加しよう)
【例】〜〜〜〜;C:\Apache-Subversion-1.10.0\bin -
cmdで以下のコマンドを実行し、SVNコマンドを利用できるか確認しよう。
svn --version
実行後、コマンドは利用できませんみたいな文が返ってこなければ成功です。 -
○○.bat(ファイル名はテキトー)を作成しましょう。
-
batファイルの中に以下のコードを入力して適当な場所に保存しましょう。
@ECHO OFF
set SVN_DIR=<SVNのローカルリポジトリパス>
set /A CNT=0
:LOOP
call svn update --accept p %SVN_DIR%
IF "%ERRORLEVEL%"=="0" GOTO END
call svn cleanup %SVN_DIR%
GOTO LOOP
:END
エラーメッセージが返ってこなくなるまで、更新コマンド(update)とクリーンアップコマンド(cleanup)を繰り返して行う! という中身になっています。
最後に、cmdでSVN更新対象のファイルへ移動し、batをそこにドラッグ&ドロップ!
すると更新が終わるまで、更新→クリーンアップを自動で繰り返してくれます。