Visual svn转储文件大小为0kb

时间:2013-09-07 10:14:53

标签: c# svn visualsvn-server

我有控制台应用程序。因为我正在复制我的svn项目。我的代码是:

System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;

startInfo.FileName = @"c:\windows\system32\cmd.exe";
startInfo.Arguments = @"C:\Program Files (x86)\VisualSVN Server\bin\svnadmin dump E:\Repositories\Test > E:\AFS\AFS.Schedule.VisualSVN\TestFolder\Dest\Test\NewTest.dump";

startInfo.Verb = "runas";

process.StartInfo = startInfo;
process.Start();

process.WaitForExit();

问题是:我能够创建转储文件。但是大小是0kb。

让我知道我错过了什么。

2 个答案:

答案 0 :(得分:1)

代码中的路径无效。

错误的字符串是:

startInfo.Arguments = @"C:\Program Files (x86)\VisualSVN Server\bin\svnadmin dump E:\Repositories\Test > E:\AFS\AFS.Schedule.VisualSVN\TestFolder\Dest\Test\NewTest.dump";

正确的字符串是:

startInfo.Arguments = @""C:\Program Files (x86)\VisualSVN Server\bin\svnadmin.exe" dump E:\Repositories\Test > E:\AFS\AFS.Schedule.VisualSVN\TestFolder\Dest\Test\NewTest.dump";

请注意缺少的.exe和引号。

答案 1 :(得分:1)

确保您的标准命令提示符引用了它所需的PATH:

在您的情况下C:\Program Files (x86)\VisualSVN Server\bin;

Here are some instructions on how to edit your PATH variable from within Windows.

<强>解释

问题是您的环境路径设置不正确,因此在您的应用程序运行的上下文中,它无法引用Visual SVN安装的正确路径,它可能正在尝试访问您的另一个版本的Subversion机。

要测试此理论,请通过VisualSVN服务器管理应用程序打开cmd提示符(这将临时添加正确的PATH变量):VisualSVN Server > Actions > All Task > Start Command Prompt

(确保您已选择导航中的顶级项目,而不是树中的存储库,或者您无法在All Tasks菜单中选择

这应该转储该回购的完整备份。