Subversion/指定フォルダ配下のCheckOutを全更新
をテンプレートにして作成
Search in
this wiki
and
or
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
指定したフォルダ配下にCheckOutされているsubversionリポ...
#ref(SvnUpdateAll.js);
//
// 指定したフォルダ配下にCheckOutされているsubversionリ...
//
// [前提] svnコマンドにPATHが通っていること。
//
// @author Jomora(kazuhiko@jomura.net)
// @version 2010.01.08 初版作成
// subversionリポジトリを再帰検索する親フォルダ
var targetFolder = "C:\\repos_local";
//**Start Encode**
//main
var fso = WScript.CreateObject("Scripting.FileSystemObje...
var shell = WScript.CreateObject("WScript.Shell");
var rootFolderObj = fso.GetFolder(targetFolder);
UpdateFolder(rootFolderObj);
WScript.Quit(0);
//functions
function UpdateFolder(folderObj) {
if (fso.FolderExists(folderObj.Path + "\\.svn")) {
execUpdate(folderObj);
} else {
var j = new Enumerator(folderObj.SubFolders);
for (; !j.atEnd(); j.moveNext()) {
UpdateFolder(j.item());
}
}
}
function execUpdate(folderObj) {
command = "svn update " + folderObj.Path;
WScript.StdOut.WriteLine(command);
var oExec = shell.Exec(command);
var files = oExec.StdOut;
var buff;
var quit = false;
while(true) {
while(!files.AtEndOfStream) {
buff = files.ReadAll();
WScript.StdOut.WriteLine(buff);
}
if(quit) {
break;
}
quit = (oExec.Status == 1);
WScript.Sleep(100);
}
}
終了行:
指定したフォルダ配下にCheckOutされているsubversionリポ...
#ref(SvnUpdateAll.js);
//
// 指定したフォルダ配下にCheckOutされているsubversionリ...
//
// [前提] svnコマンドにPATHが通っていること。
//
// @author Jomora(kazuhiko@jomura.net)
// @version 2010.01.08 初版作成
// subversionリポジトリを再帰検索する親フォルダ
var targetFolder = "C:\\repos_local";
//**Start Encode**
//main
var fso = WScript.CreateObject("Scripting.FileSystemObje...
var shell = WScript.CreateObject("WScript.Shell");
var rootFolderObj = fso.GetFolder(targetFolder);
UpdateFolder(rootFolderObj);
WScript.Quit(0);
//functions
function UpdateFolder(folderObj) {
if (fso.FolderExists(folderObj.Path + "\\.svn")) {
execUpdate(folderObj);
} else {
var j = new Enumerator(folderObj.SubFolders);
for (; !j.atEnd(); j.moveNext()) {
UpdateFolder(j.item());
}
}
}
function execUpdate(folderObj) {
command = "svn update " + folderObj.Path;
WScript.StdOut.WriteLine(command);
var oExec = shell.Exec(command);
var files = oExec.StdOut;
var buff;
var quit = false;
while(true) {
while(!files.AtEndOfStream) {
buff = files.ReadAll();
WScript.StdOut.WriteLine(buff);
}
if(quit) {
break;
}
quit = (oExec.Status == 1);
WScript.Sleep(100);
}
}
ページ名: