sharpsvn을 사용하여 diff 메서드를 구현하려고합니다. 내 코드Sharpsvn diff 메서드가 작동하지 않습니다.
private void Diff(string pSourcePath)
{
Uri UriSCPath = new Uri(pstrSourcePath);
SvnClient DPISVN_Clnt = new SvnClient();
DPISVN_Clnt.Authentication.DefaultCredentials = new NetworkCredential("Biju","Biju");
try
{
SvnRevisionRange objSvnRevisionRange=new SvnRevisionRange (17157,17161);
Stream stream=null;
MemoryStream objMemoryStream = new MemoryStream();
bool b = DPISVN_Clnt.Diff(pstrSourcePath, objSvnRevisionRange, objMemoryStream);
StreamReader strReader = new StreamReader(objMemoryStream);
string str = strReader.ReadToEnd();
}
내 첫 번째 문제를 다음과 같이이 DIFF 방법은 항상 내 프로그램을 운용에서 true를 반환하고 또한 true를 돌려보다 내 revison 범위를 변경할 수 있습니다.
두 번째 문제점은 diff 메소드에 입력 매개 변수 이름 stream result가 있습니다. 결과 스트림 정보가 포함되어 있다고 생각합니다. streamreader를 사용하여 결과 스트림의 내용을 읽으려고하면 빈 문자열이 반환됩니다.하지만 내 리비전 범위가 다르고 내 소스 파일에 약간의 차이가 있습니다.
스트림을 사용하는 동일한 방법이 있습니까?
SharpSVN을 모르겠지만 메모리 스트림에 쓰는 중이라면 스트림 포인터가 끝에 위치 할 수 있습니다. 판독기를 설정하기 전에 MemoryStream.Seek (0, SeekOrigin.Begin)을 호출 해보십시오. – itowlson
또한 diff 파일의 전체 경로를 작성하므로 절대 경로를 열어야합니다. –