2009-06-29 2 views
9

все еще немного n00b на SharpSVN, я ищу, чтобы получить простой код, чтобы открыть репозиторий SVN и прочитать (по крайней мере) полный путь для всех файлов в определенной папке.SharpSVN прочитал ВСЕ имена файлов

Позволяет сказать, что эта папка \ ствол \ Source

Я не ищу к оформлению заказа или совершить, только что прочитал в список

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

ответ

16

нормально, похоже, я нашел способ ..

 bool gotList; 
     List<string> files = new List<string>(); 

     using (SvnClient client = new SvnClient()) 
     { 
      Collection<SvnListEventArgs> list; 

      gotList = client.GetList(projectPath, out list); 

      if (gotList) 
      { 
       foreach (SvnListEventArgs item in list) 
       { 
        files.Add(item.Path); 
       } 
      } 
     } 
7

писал это в спешке в блокноте; Сожалею.

SvnClient client = new SvnClient(); 
client.Authentication.DefaultCredentials = new NetworkCredential("svnuser", "svnpass"); 
SvnUriTarget folderTarget = new SvnUriTarget("https://mysvnserver.com/mysvnpath"); 
List<String> filesFound = getFolderFiles(client, folderTarget); 

// GetFolderFiles 
// Function that, given a SvnClient and Target to a folder, returns a list of files 
private List<String> getFolderFiles(SvnClient client, SvnTarget folderTarget) 
{ 
    List<String> filesFound = new List<String>(); 
    List<SvnListEventArgs> listResults; 

    if (client.GetList(folderTarget, out listResults)) 
    { 
     foreach (SvnListEventArgs item in listResults) 
      if (item.Entry.NodeKind == SvnNodeKind.File) 
       filesFound.Add(item.Path); 

     return filesFound; 
    } 
    else 
     throw new Exception("Failed to retrieve files via SharpSvn"); 
} 
Смежные вопросы