SharpSvn Lesen Sie alle Dateinamen
Frage
noch ein bisschen eines n00b auf SharpSvn, ich bin auf der Suche etwas einfacher Code zu öffnen, eine SVN-Repository zu bekommen, und liest (zumindest) den vollständigen Pfad aller Dateien in einem bestimmten Ordner.
Lassen Sie uns sagen, dass dieser Ordner \ trunk \ source
Ich bin nicht auf der Suche zur Kasse oder zu begehen, lesen Sie einfach in eine Liste
Ich suche auch alle Dateien zu lesen, nicht nur die geänderten diejenigen.
Lösung
ok es sieht aus wie ich eine Methode gefunden ..
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);
}
}
}
Andere Tipps
Schrieb dies in Eile im Notizblock; Es tut uns Leid.
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");
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow