我编写了一个c#应用程序来检查存储库是否应该是转储器(使用一些参数)
我已经在我的计算机(Winsows 8)上编译了这个应用程序,它按预期工作。 当我尝试在安装了.net 4.5的两个不同的Windows服务器(2003和2008)上使用它时,出现了问题。
在此之前,我谈到我遇到的问题,我将向您展示我为使这个应用程序工作所做的部分代码:
output[2] = exec("svnadmin dump " + dir + " > " + dir + ".dump");
其中 dir 是存储库的实际名称, exec 函数如下:
public string exec(object command)
{
try
{
System.Diagnostics.ProcessStartInfo procStartInfo =
new System.Diagnostics.ProcessStartInfo("cmd", "/c " + command);
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
procStartInfo.CreateNoWindow = true;
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = procStartInfo;
proc.Start();
return proc.StandardOutput.ReadToEnd();
}
catch (Exception objException)
{
return "Error: " + objException;
}
}
我得到的是,当我在Windows 8上运行它时,它按预期工作 当我在Server 2003上运行它时,它只转储版本0 当我在Server 2008上运行它时,它返回一个错误(它不是一个存储库!)
Windows 8 svn版本:1.7.8(sliksvn) Windows server 2003 svn verion:1.5.8 Windows server 2008 svn版本:1.7.9
任何帮助都是适用的, 提前谢谢
答案 0 :(得分:-1)
我遇到类似的问题“它不是存储库!”问题。为了解决这个问题,我使用了svnserve。
svnserve -r .\ -d
这解决了我的问题。