SharpSvn: получение структуры репозитория и отдельных файлов

Я пытаюсь встроить простой браузер хранилища в веб-приложение и пытаюсь использовать SharpSvn, чтобы помочь.

Я могу найти все обычные физические команды, такие как update, commit, которые на самом деле вносят изменения в хранилище или рабочую копию, но я пытаюсь найти способ запросить структуру или содержимое хранилища.

Можно ли как-то прочитать структуру хранилища, чтобы на веб-странице можно было отображать простой интерфейс, подобный интерфейсу проводника (т.е. древовидное представление каталогов и список файлов)?

1 ответ

Решение

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 для получения информации о каждом элементе, в том числе о том, является ли он каталогом или файлом, когда он был последний раз изменен и т. Д.

Другие вопросы по тегам