2009-06-29 20 views
9

todavía un n00b en SharpSVN, estoy buscando un código simple para abrir un repositorio SVN y leer (al menos) la ruta completa de todos los archivos en una carpeta específica.SharpSVN leyó TODOS los nombres de archivo

permite decir que esta carpeta es \ tronco \ fuente

No estoy buscando a la comprobación o cometer, acabo de leer en una lista

También estoy buscando para leer todos los archivos, no sólo el cambiados.

Respuesta

16

bien parece que he encontrado un método ..

 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

escribió esto a toda prisa en el bloc de notas; Lo siento.

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"); 
} 
Cuestiones relacionadas