2010-08-10 3 views
4

특정 개정판 (또는 심지어 SvnChangeItem에서 변경된 줄 수가 너무 많음)에서 파일에 포함 된 줄 수를 얻을 수있는 문서 안에 무엇이든 놓친 경우 궁금한 점이 있습니다. 직접 파일을 파일 시스템으로 내보내고 각 행을 세는 것을 통해 파싱합니다.SharpSVN API를 사용하면 파일을 내보내기하지 않고 수정본에 포함 된 행 수를 얻을 수있는 방법이 있습니까?

도움을 주시면 감사하겠습니다. 감사.

답변

0

아니요, 이름이 붙은 해결책과 정확히 붙어 있습니다. 임시 파일로 내보내기, 줄 수 계산, 파일 삭제. 이 작업을 파일 단위로 수행하는 경우 상당히 비싼 작업입니다. 모든 파일을 라인 수로 계산하고 이후 실행을 위해 작업 디렉토리를 재사용해야하는 경우 전체 저장소를 가져 오는 것이 좋습니다.

0

메타 데이터 (현재 행 수와 같은)는 저장소에 포함되어 있지 않지만 지저분한 임시 파일을 수행하지 않고도 파일을 가져올 수 있습니다. 간결성을 위해

은 수정 등

using (var client = new SvnClient()) 
{ 
    using (MemoryStream memoryStream = new MemoryStream()) 
    { 
     client.Write(new SvnUriTarget(urlToFile), memoryStream); 
     memoryStream.Position = 0; 
     var streamReader = new StreamReader(memoryStream); 
     int lineCount = 0; 
     while (streamReader.ReadLine() != null) 
     { 
      lineCount++; 
     } 
    } 
} 
반복 코드를 제외
관련 문제