private MemoryStream GetSVNFileStream(SvnRevisionId changeset, string path)
{
var memoryStream = new MemoryStream();
SvnTarget target;
//If you use Uri you should encode '#' as %23, as Uri's define the # as Fragment separator.
//And in this case the fragment is not send to the server.
path = path.Replace("#", "%23");
if (SvnTarget.TryParse(GetPath(path).AbsolutePath, out target))
{
if (FileWasDeleted(path, changeset))
{
return new MemoryStream();
}
var uriTarget = new SvnUriTarget(_root + path, changeset.Value);
var svnWriteArgs = new SvnWriteArgs {Revision = changeset.Value};
Client.Write(uriTarget, memoryStream, svnWriteArgs);
return memoryStream;
}
return new MemoryStream();
}