最新バージョンの取得をバッチで実行する
プロジェクトのルートから一括で最新バージョンを取得したくなることがある。しかし、大きいプロジェクトだと、非常に時間がかかるのであまりやりたくない。昼休みにでもバッチを垂れ流しておければ楽だ。*1
準備1 : Force_Dir初期化変数の設定
コマンドラインからSS.EXEを起動してGetすると、カレントディレクトリに取得される。作業フォルダにCDすればいいのだが、VSSの設定でも取得先を強制的に作業フォルダとすることができる。vssサーバのプロジェクトディレクトリ下users/[USER_NAME]にユーザ毎のss.iniがあるのでこれを編集する。
[$/] Dir (BA102) = C:\work\Project Force_Dir = Yes ; ←この行を追加
たまに、[$/]以下の作業ディレクトリ([$/hoge]とかのセクション)が設定されていたりするが、うざいのでこの際削除。
準備2 : バッチを作成
以下のようなバッチを作成する。ここらへんを参考に。出力をどうするかは気分しだい。
@echo off rem SS.EXEのパス set PATH=%PATH%;"C:\Program Files\Microsoft Visual Studio\VSS\win32" rem VSSユーザ&パスワード set ssuser=username set sspwd=password rem VSSデータベースを設定 rem srcsafe.iniがある場所を指定する set ssdir=\\VSS_SERVER_NAME\VSSRepos\Project rem 標準出力はくだらないので捨てる。エラーログのみファイルに落とす。 ss get $/* -GWS -R 1> NUL 2> SSGet.log
と、ここまできたらタスク・スケジューラに登録すればOK。
*1:この方法には穴があって、フォルダ(プロジェクト)が新規に作成されていると落ちる。VSS管理されているソース取得を自動化(JScript) - やりたくないことはやらずに済む努力をすべきを参照。