2010-05-21 5 views
13

Ich versuche, einen einfachen Repository-Browser in eine Web-Anwendung zu bauen und habe mit SharpSvn geholfen.SharpSvn: Abrufen der Repository-Struktur und einzelner Dateien

Ich kann alle üblichen physikalischen Befehle wie update, commit finden, die tatsächlich Änderungen am Repository oder an einer Arbeitskopie vornehmen würden, aber ich habe Mühe, eine Möglichkeit zu finden, eine Repositoriestruktur oder Inhalte abzufragen.

Gibt es eine Möglichkeit, wie ich die Struktur des Repository lesen kann, so dass ich eine einfache Explorer-ähnliche Schnittstelle in einer Webseite anzeigen kann (d. H. Baumansicht von Verzeichnissen plus eine Liste von Dateien)?

+0

siehe http://stackoverflow.com/questions/1061016/sharpsvn- read-all-filenames –

+0

danke, das ist genau die Art von Start, die ich wollte –

Antwort

14

Die SharpSvn.SvnClient Klasse hat eine GetList() Funktion, die wirklich gut funktioniert:

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); 
     } 
    } 
} 

Sobald Sie die Sammlung haben, können Sie den Pfad jedes Element an der Position zu bekommen. Sie können auch das Entry-Objekt verwenden, um Informationen zu jedem Element abzurufen, z. B. ob es sich um ein Verzeichnis oder eine Datei handelt, wann es zuletzt geändert wurde usw.

Verwandte Themen