SharpSVNは、すべてのファイル名を読みます
質問
まだSharpSVN上N00Bのビット、Iさんは、SVNリポジトリを開き、そして読んでいくつかの簡単なコード(少なくとも)特定のフォルダ内のすべてのファイルのフルパスを取得するために探しています。
は、このフォルダは\トランク\ソース
であると言うことができます私は、ちょうどリストに読み込まをチェックアウトまたはコミットしようとしていないよ。
私はまた、すべてのファイルだけでなく、変更されたものを読むために探しています。
解決
私は方法を見つけたように見えるOK ..
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);
}
}
}
他のヒント
メモ帳で急いでこれを書きました。申し訳ありません。
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");
}
所属していません StackOverflow