2014-01-21 38 views
1

当我尝试执行某些操作(如果指定的存储库子路径在其目录名称中具有空白字符)时,我从SharpSvn的客户端收到异常,即。SharpSvn - 路径中空白的例外

https://svn.mycompan​y.com/repos/myteambl​d/MyFolder1/My Folder 2/MyFolder3 

我能够通过其他应用程序访问这些路径,并且SharpSvn可以非空白路径工作。另外,我在传递路径为URI(不是字符串),所以所有空格都被自动编码

这里是个例外:

SharpSvn.SvnClientUnrelatedResourcesException was caught 
    HResult=-2146233088 
    Message=Unable to find repository location for 'https://svn.mycompan​y.com/repos/myteambl​d/MyFolder1/My%20Folder%202/MyFolder3' in revision 496637 
    Source=SharpSvn 
    Line=0 
    OperatingSystemErrorCode=0 
    SubversionErrorCode=195012 
    StackTrace: 
     at SharpSvn.SvnClientArgs.HandleResult(SvnClientContext client, SvnException error, Object targets) in g:\dist\src\sharpsvn\svnclientargs.cpp:line 78 
     at SharpSvn.SvnClientArgs.HandleResult(SvnClientContext client, svn_error_t* error, Object targets) in g:\dist\src\sharpsvn\svnclientargs.cpp:line 42 
     at SharpSvn.SvnClient.InternalLog(ICollection`1 targets, Uri logRoot, SvnRevision altPegRev, SvnLogArgs args, EventHandler`1 logHandler) in g:\dist\src\sharpsvn\commands\log.cpp:line 345 
     at SharpSvn.SvnClient.Log(Uri target, SvnLogArgs args, EventHandler`1 logHandler) in g:\dist\src\sharpsvn\commands\log.cpp:line 74 
     at SharpSvn.SvnClient.GetLog(Uri target, SvnLogArgs args, Collection`1& logItems) in g:\dist\src\sharpsvn\commands\log.cpp:line 402 

回答

0

空间是不是在URL中有效。您应该使用%20而不是。您可以轻松地编码使用Uri.EscapeUriString

这个调用你的网址:

var myUri="https://svn.mycompany.com/repos/myteambld/MyFolder1/My%20Folder%202/MyFolder3"; 
Uri.EscapeUriString(myUri); 

将返回:

https://svn.mycompany.com/repos/myteambld/MyFolder1/My%20Folder%202/MyFolder3

+0

好一点,但因为我传递的路径为URI(相字符串),空格会自动编码并正确显示在例外详细信息中。不过,我已经更新了我的问题,以便更具体,谢谢! – watkinsmatthewp