Когда кто-то фиксирует, мне нужно определить, к какому проекту добавить его в наш внутренний контроллер версий. Одним из факторов является то, была ли создана определенная ветвь.
У меня есть функция:
личное состояние c строка SVN (команда строки) {StringBuilder output = new StringBuilder (); Process procMessage = new Process ();
//Start svnlook.exe in a process and pass it the required command-line args.
procMessage.StartInfo = new ProcessStartInfo(
@"C:\Program Files\VisualSVN Server\bin\svn.exe",
command
);
procMessage.StartInfo.RedirectStandardOutput = true;
procMessage.StartInfo.UseShellExecute = false;
procMessage.Start();
//While reading the output of svn, append it to the stringbuilder then
//return the output.
while (!procMessage.HasExited)
{
output.Append(procMessage.StandardOutput.ReadToEnd());
}
return output.ToString();
}
, который вызывается с помощью:
string nextRelease = SVN("ls https://server:port/svn/repo/branches/branchname");
и затем проверяется, является ли nextRelease пустым. Это работает на моем локальном P C на моем локальном репо, но когда я устанавливаю ловушку фиксации на сервере, я получаю сообщение об ошибке, подобное следующему:
Error: svn: E170013: Unable to connect to a repository at URL 'https://server:port/svn/repo/branches/branchname'
Error: svn: E175013: Access to '/svn/repo/branches/branchname' forbidden
SVNLook не предоставляет эту информацию, которую я могу найти и пользователь, предположительно, является пользователем SVN, поэтому у него будет доступ к SVN.
Что мне не хватает?