2011-10-05 35 views
1

我有一个回购与空间这样的路径:如何从带有SharpSVN空格的SVN路径读取日志?

https://mysvnserver.local/svn/branches/2.7 Feature XYZ 

现在我想读的使用SharpSvn这条道路的日志。

我有这样的代码:

var client = new SvnClient(); 
client.Authentication.DefaultCredentials = new NetworkCredential(userName, password); 

var logArguments = new SvnLogArgs(new SvnRevisionRange(startRevision, endRevision)) { RetrieveMergedRevisions = true }; 

var uri = new Uri(repoUrl); 
Console.WriteLine("Absolute Uri: " + uri.AbsoluteUri); 

Collection<SvnLogEventArgs> list; 
client.GetLog(uri, logArguments, out list); 

绝对URI显示:

https://mysvnserver.local/svn/branches/2.7%20Feature%20XYZ 

它(我的理解)是完全正确的转义在URI中使用,但后来我得到一个

SvnFileSystemException - File not found: revision 1612, path ´/branches/2.7_Feature_XYZ´ 

当调用client.GetLog()时。从错误消息中得知,SharpSvn在内部用下划线替换空格。

我该如何防止并从此路径读取日志消息?

编辑更新: 直到现在我试图用\,%20+替换空间。没有效果。路径找不到。我也尝试传递上面所有替换的带有和不带尾随斜杠的URI - 也没有效果。

回答

-1

你应该"\ "

+1

这是不可能取代"%20"。 'Uri'类自动为空格使用'%20'。 –