sharpsvn 모든 파일 이름을 읽습니다
문제
SharpSVN의 N00B는 여전히 약간의 N00B이지만 SVN 저장소를 열어 특정 폴더의 모든 파일의 전체 경로를 (최소한) 읽을 간단한 코드를 얻고 자합니다.
이 폴더가 trunk 소스라고 가정 해 봅시다.
체크 아웃하거나 커밋하려고하지 않고 목록을 읽으십시오.
또한 변경된 파일뿐만 아니라 모든 파일을 읽으려고합니다.
해결책
알았어, 내가 방법을 찾은 것 같다 ..
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