TortoiseSVNのexportをコマンドラインから実行して自動化する方法

Subversionで管理しているソースを
定期的にソースコードチェックしていてもっと簡単にできないかと、
バッチを作って自動化しようとちょっと考えてみた。

まずソースコードチェックをするために必要なステップはこんな感じ↓

  1. チェックするソースコードをエクスポート
  2. エクスポートしたソースをzip
  3. zipしたファイルを所定のストレージ領域へ配置
  4. zipのパスをチェックタスクのリストに追記
  5. メールを送付

まず最初の課題はTortoiseSVNGUIからではなくて、
コマンドラインから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処理が走らないこと。。

なんとかできないかと調べてみたけど、未解消。
半自動化な状態。

とりあえず最初のステップはこのくらいに