当我尝试执行一些操作时,如果指定的存储库子路径的目录名中有一个空格字符,则会收到来自SharpSvn客户端的异常。
https://svn.mycompany.com/repos/myteambld/MyFolder1/My Folder 2/MyFolder3我可以通过其他应用程序访问这些路径,SharpSvn可以很好地处理非空格路径。此外,我将路径作为Uri (而不是字符串)传递,因此所有空格都会自动编码
以下是例外情况:
SharpSvn.SvnClientUnrelatedResourcesException was caught
HResult=-2146233088
Message=Unable to find repository location for 'https://svn.mycompany.com/repos/myteambld/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发布于 2014-01-21 21:32:58
URL中的空格无效。而不是你应该使用%20。您可以使用Uri.EscapeUriString轻松地对URL进行编码
此调用:
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
https://stackoverflow.com/questions/21259518
复制相似问题