Как получить размер файла с помощью SharpSvn?

Я работаю над модулем, который отображает содержимое репозитория на веб-странице, используя SharpSvn (C#). Чтобы получить список содержимого URL-адреса, который я использую:

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

Итак, для каждого элемента я получаю информацию об имени, пути, URL-адресе... Но мне также нужно знать его размер. Так есть ли способ получить эту информацию с сервера svn, используя SharpSvn?

Спасибо.

РЕДАКТИРОВАТЬ: Ответ DJ KRAZE заставил меня понять, что мой вопрос недостаточно ясен. Продукт представляет собой веб-сайт, похожий на Dropbx, где все пользователи svn (авторизованные) могут просматривать и просматривать репозиторий в Интернете. Так что этот код должен работать на сервере svn. Например, пользователь добавляет файлы со своего ПК (например, с черепахой) и фиксирует. Позже он хочет увидеть эти файлы в Интернете (опять же, как в дропбоксе) вместе с их размерами. Обеспечивает ли Sharpsvn эту функциональность?


person shay__    schedule 01.01.2013    source источник
comment
Интересно, почему за это проголосовали, если вы проголосовали против, оставьте сообщение...   -  person Sander Rijken    schedule 14.05.2013


Ответы (3)


Subversion не предлагает способ получить размер файла. Единственный способ сделать это — запустить Export и проверить размер файла, но это будет довольно дорого для списка каталогов.

person Sander Rijken    schedule 14.05.2013

можно получить размер файла в svn, потому что tortoise SVN может отображать размер файла в браузере репо. Вот код С# для этого:

//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;
person terryfkjc    schedule 09.09.2014

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;
}
person MethodMan    schedule 01.01.2013