TortoiseSVN客户端预提交钩子获取存储库URL

时间:2010-08-10 20:16:16

标签: windows svn tortoisesvn url-routing pre-commit-hook

我想创建一个预提交钩子,它会查看我提交的URL。我知道我可以访问他们提交的文件系统上的文件,但是有可能找出你要提交的位置吗?

1 个答案:

答案 0 :(得分:1)

我最终从当前工作目录的.svn文件夹中提取它。

var httpAddress = getHttpAddress(WScript.Arguments(3));  

function getHttpAddress(currentWorkingDirectory) {
    var entriesFile = currentWorkingDirectory + "\\.svn\\entries";
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    var file = fso.OpenTextFile(entriesFile, 1);
    var line = file.ReadAll();
    file.Close();

    var pieces = line.split('\n');
    for (var idx = 0; idx < pieces.length; idx++) {
        //pretty cheap, but we just loop till we find a line that looks like a url
        if (pieces[idx].substr(0, 7) == "http://") { return pieces[idx]; }  
    }
    return "";
}