2010-05-21 2 views
13

Я пытаюсь создать простой браузер репозитория в веб-приложении и искал использование SharpSvn для помощи.SharpSvn: Получение структуры репозитория и отдельных файлов

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

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

+0

см. Http://stackoverflow.com/questions/1061016/sharpsvn- read-all-filenames –

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

Смежные вопросы