如何从带有SharpSVN空格的SVN路径读取日志?

时间:2011-10-05 10:08:08

标签: uri space sharpsvn

我在回购中有一个带有这样的空格的路径:

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传递 - 也没有效果。

1 个答案:

答案 0 :(得分:-1)

您应该将"%20"替换为"\ "