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 - 也没有效果。
这是不可能取代
"%20"
。 'Uri'类自动为空格使用'%20'。 –