从 SVN Repository 中检索信息包含特殊字符
Retrieve information from SVN Repository contains special characters
我正在使用 SharpSVN 通过 C# 连接 Visual SVN 服务器并从中检索信息。
但是在 SVN 服务器上,一个存储库有一个名为 C#
的文件夹,当读取到这个文件夹时,发生异常:
Additional information: URL
'https://< svnserver >/svn/IT/02_SHOPFLOOR/C' non-existent in
revision 13
我调试发现URI
还是:
{https://< svnserver >/svn/IT/02_SHOPFLOOR/C#} System.Uri
如何访问包含特殊字符的 SVN 存储库?
我曾经使用过如下但没有任何改变:
if (lists[i].Path.Contains("#"))
{
path = lists[i].Path.Replace("#", "\#");
}
else
{
path = lists[i].Path;
}
reposss[i] = new Uri("https://< svnserver >/svn/IT/02_SHOPFLOOR/" + path);
svnClient.GetList(reposss[i], out listsInfo); //Exception occur at here
# 是 Url 中的架构运算符。您需要使用 uri 转义规则转义此字符。在 System.Uri class 和 SvnTools 上的一些特定场景中有帮助函数。转义字符类似于 %23,其中 23 是字符的十六进制值。
我正在使用 SharpSVN 通过 C# 连接 Visual SVN 服务器并从中检索信息。
但是在 SVN 服务器上,一个存储库有一个名为 C#
的文件夹,当读取到这个文件夹时,发生异常:
Additional information: URL 'https://< svnserver >/svn/IT/02_SHOPFLOOR/C' non-existent in revision 13
我调试发现URI
还是:
{https://< svnserver >/svn/IT/02_SHOPFLOOR/C#} System.Uri
如何访问包含特殊字符的 SVN 存储库?
我曾经使用过如下但没有任何改变:
if (lists[i].Path.Contains("#"))
{
path = lists[i].Path.Replace("#", "\#");
}
else
{
path = lists[i].Path;
}
reposss[i] = new Uri("https://< svnserver >/svn/IT/02_SHOPFLOOR/" + path);
svnClient.GetList(reposss[i], out listsInfo); //Exception occur at here
# 是 Url 中的架构运算符。您需要使用 uri 转义规则转义此字符。在 System.Uri class 和 SvnTools 上的一些特定场景中有帮助函数。转义字符类似于 %23,其中 23 是字符的十六进制值。