我在回购中有一个带有这样的空格的路径:
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);
Absolute 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传递 - 也没有效果。
答案 0 :(得分:-1)
您应该将"%20"
替换为"\ "