TortoiseSVNのexportをコマンドラインから実行して自動化する方法
Subversionで管理しているソースを
定期的にソースコードチェックしていてもっと簡単にできないかと、
バッチを作って自動化しようとちょっと考えてみた。
まずソースコードチェックをするために必要なステップはこんな感じ↓
- チェックするソースコードをエクスポート
- エクスポートしたソースをzip
- zipしたファイルを所定のストレージ領域へ配置
- zipのパスをチェックタスクのリストに追記
- メールを送付
まず最初の課題はTortoiseSVNをGUIからではなくて、
コマンドラインからexportすること。
調べてみると、TortoiseSVNでもコマンドラインから実行できるらしい。
↓のような感じ。
TortoiseProc.exe /command:export /url:"エクスポート元リポジトリURL" /path:"エクスポート先パス" /closeonend:1
/command:〜の部分で実行するコマンドを指定(ここではexport)
/url:〜でエクスポートしたいリポジトリのURL
/path:〜でエクスポートしたものを配置するパス
少し癖がある点としては、コマンドラインから実行してもexport画面と進行ダイアログが表示されること。
進行ダイアログは、
/closeonend:〜を指定することで自動で閉じる設定が可能。
/closeonendの設定値と動作は↓のような感じ。
- /closeonend:0 自動でダイアログを閉じません。
- /closeonend:1 エラーがなければ自動で閉じます。
- /closeonend:2 エラーや競合がなければ自動で閉じます。
- /closeonend:3 エラー、競合、マージがなければ自動で閉じます。
- /closeonend:4 エラー、競合、マージが手元の操作で起きなければ自動で閉じます。
もうひとつの難点は、export画面のリポジトリURLが
/urlで指定した値がうまく入らないこと。
入らないというか空欄になる訳ではなくて、
URLは入っているけど直近でアクセスしたリポジトリURLが入っているように見える。
それと致命的なのが、コマンドラインから実行してもexport画面のOKボタンを押さないとexport処理が走らないこと。。
なんとかできないかと調べてみたけど、未解消。
半自動化な状態。
とりあえず最初のステップはこのくらいに