0

我正在使用 SharpSvn (C#) 在网页上显示存储库内容的模块。为了获取我正在使用的 url 内容列表:

(client.GetList(new Uri(url), out contents);
foreach (SvnListEventArgs item in contents)
{
    //...Iterates...
}

因此,对于每个项目,我都会获得有关名称、路径、url 的信息……但我还需要知道它的大小。那么有什么方法可以使用 SharpSvn 从 svn 服务器获取这些信息?

谢谢。

编辑:DJ KRAZE 的回答让我意识到我的问题不够清楚。该产品是一个类似于 Dropbx 的网站,所有 svn(授权)用户都可以在其中查看和浏览 Web 上的存储库。所以这段代码应该在 svn 服务器上运行。例如 - 用户从其自己的 PC(例如,使用乌龟)添加文件,然后提交。稍后他想在网络上查看这些文件(同样,就像保管箱一样),以及它们的大小。sharpsvn 是否提供此功能?

4

3 回答 3

6

可以在 svn 中检索文件大小,因为 tortoise SVN 能够在 repo 浏览器中列出文件的大小。这是执行此操作的 C# 代码:

//tested on SharpSVN 1.8009.3299.43
SvnListArgs arg = new SvnListArgs();
arg.Revision = new SvnRevision(2); //the revision you want to check
arg.RetrieveEntries = SvnDirEntryItems.Size;

client.GetList(target, arg, out list);
long sizeInBytes = list[0].Entry.FileSize;
于 2014-09-09T01:54:14.360 回答
0

Shay__ 获得文件路径后,您将使用谁..?

using System.IO;


(client.GetList(new Uri(url), out contents);
foreach (SvnListEventArgs item in contents)
{
    //FileInfo object and get the Length.
  FileInfo fi = new FileInfo(item);
  long fileLength = fi.Length;
      .....
    //once done with what you want Null the FileInfo Object
    fi = Null;
}
于 2013-01-01T22:44:25.977 回答
-2

Subversion 不提供获取文件大小的方法。这样做的唯一方法是运行Export并检查文件大小,但这对于目录列表来说会相当昂贵。

于 2013-05-14T18:33:58.967 回答