我已经写了一个c#应用程序来检查存储库是否应该转储(使用一些参数)
我已经在我的计算机(windows 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上运行这个时,它按预期工作当我在服务器2003上运行这个时,它只转储版本0当我在Server 2008上运行这个时,它返回一个错误(它不是一个存储库!)
Windows 8 svn version: 1.7.8 (sliksvn)Windows server 2003 svn版本:1.5.8Windows server 2008 svn version: 1.7.9
任何帮助都是感激的,提前感谢
我也遇到过类似的"这不是一个存储库!"问题。为了解决这个问题,我使用了svnserve.
svnserve -r . -d