我正在使用SharpSvn(C#)在网页上显示存储库内容的模块。 为了获得我正在使用的网址内容列表:
(client.GetList(new Uri(url), out contents);
foreach (SvnListEventArgs item in contents)
{
//...Iterates...
}
因此,对于每个项目,我都会获得有关名称,路径,网址的信息...... 但我也需要知道它的大小。那么有没有办法从svn服务器获取这些信息,使用SharpSvn?
感谢。
编辑: DJ KRAZE的回答让我意识到我的问题不够明确。该产品是类似Dropbx的网站,所有svn(授权)用户都可以在网站上查看和浏览存储库。所以这段代码应该在svn服务器上运行。 例如 - 用户从它自己的PC(用乌龟,例如)添加文件,然后提交。后来他想在网上看到这些文件(再次,就像dropbox一样),以及它们的大小。 sharpsvn是否提供此功能?
答案 0 :(得分:3)
可以在svn中检索文件大小,因为tortoiseSVN能够在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;
答案 1 :(得分: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;
}
答案 2 :(得分:-1)
Subversion不提供获取文件大小的方法。执行此操作的唯一方法是运行Export
并检查文件大小,但这对于目录列表来说相当昂贵。