문제

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");
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top