0
我想用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方法总是返回我program.I真正改变了我的修订时的范围比也返回true。
我的第二个问题是在diff方法中有一个输入参数名称流结果。我认为它包含结果流信息。当我尝试使用streamreader读取结果流的内容时,它会返回空字符串。但是,我的revison范围不同,并且在我的源文件中存在一些差异。
与使用流的方式相同吗?
我不知道SharpSVN,但是如果它正在写入该内存流中,它可能已经将流指针留在最后。在设置阅读器之前,尝试调用MemoryStream.Seek(0,SeekOrigin.Begin)。 – itowlson 2009-12-18 06:15:37
它也写完整路径diff文件,所以我必须打开它并修剪绝对路径。 – 2012-08-07 13:51:49