SharpSvn:获取存储库结构和单个文件

时间:2010-05-21 15:01:56

标签: c# sharpsvn

我正在尝试在Web应用程序中构建一个简单的存储库浏览器,并一直在寻求使用SharpSvn来提供帮助。

我可以找到所有常用的物理命令,比如更新,提交,实际上会对存储库或工作副本进行更改,但我很难找到查询存储库结构或内容的方法。

有什么方法可以读取存储库的结构,这样我就可以在网页中显示一个简单的浏览器,比如目录的树视图和文件列表?

1 个答案:

答案 0 :(得分:14)

SharpSvn.SvnClient类有GetList()函数,效果非常好:

using (SvnClient svnClient = new SvnClient())
{
   Collection<SvnListEventArgs> contents;
   List<string> files = new List<string>();
   if (svnClient.GetList(new Uri(svnUrl), out contents))
   {
      foreach(SvnListEventArgs item in contents)
      {
         files.Add(item.Path);
      }
   }
}

收藏后,您可以获取该位置的每个项目的路径。您还可以使用Entry对象获取有关每个项目的信息,包括它是目录还是文件,上次修改时间等等。