2009-06-29 12 views
9

को अभी भी SharpSVN पर एक n00b का कुछ पढ़ा है, मैं एक एसवीएन भंडार खोलने के लिए कुछ सरल कोड प्राप्त करना चाहता हूं, और एक विशिष्ट फ़ोल्डर में सभी फ़ाइलों का पूरा पथ (कम से कम) पढ़ना चाहता हूं।SharpSVN ने सभी फ़ाइल नाम

का कहना है कि इस फ़ोल्डर \ ट्रंक \ स्रोत है की सुविधा देता है

मैं देखें या प्रतिबद्ध करने के लिए, बस

मैं भी सभी फ़ाइलों को पढ़ने के लिए देख रहा हूँ एक सूची में पढ़ नहीं देख रहा हूँ, न सिर्फ बदल गए

उत्तर

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"); 
} 
संबंधित मुद्दे