Хук предварительной фиксации клиента TortoiseSVN получает URL-адрес хранилища - PullRequest
1 голос
/ 11 августа 2010

Я хочу создать ловушку перед фиксацией, которая просматривает URL, на который я фиксирую.Я знаю, что могу получить доступ к файлам в файловой системе, которые они передают, но возможно ли выяснить, где вы делаете это?

1 Ответ

1 голос
/ 12 августа 2010

В итоге я извлек его из папки .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 "";
}
...