Hi,
I have implemented two methods to diff a file between two revisions. The
first one works, while the second used to work but now it doesn't.
This is the one that works:
public void diff(String targetName, long oldRevision, long newRevision,
OutputStream out) throws SVNException {
SvnOperationFactory svnOperationFactory = new SvnOperationFactory();
svnOperationFactory.setAuthenticationManager(authenticationManager);
SvnDiffGenerator diffGenerator = new SvnDiffGenerator();
diffGenerator.setDiffAdded(true);
SVNURL url = buildSvnUrlWithFilePath(targetName);
SvnDiff diff = svnOperationFactory.createDiff();
diff.setSource(SvnTarget.fromURL(url),
SVNRevision.create(oldRevision), SVNRevision.create(newRevision));
diff.setDiffGenerator(diffGenerator);
diff.setOutput(out);
diff.run();
}
And this is the one that doesn't:
public void diff(String targetName, long oldRevision, long newRevision,
OutputStream out) throws SVNException {
SVNURL url = buildSvnUrlWithFilePath(targetName);
clientManager.getDiffClient().doDiff(url, SVNRevision.HEAD,
SVNRevision.create(oldRevision), SVNRevision.create(newRevision),
SVNDepth.INFINITY, true, out);
}
When I execute the latter, it doesn't print anything, but it doesn't throw
any exceptions either. Do you know what could be wrong? I'm using svnkit
1.8.3.
Unfortunately, I can't use the first method as-is because it needs to
create some temporary files in the current working directory and I have no
permissions to write there. I was hoping the second method didn't need to
write such files... Is there any option other than changing the current
working directory to a directory with the appropriate permissions?
Many thanks,
Luis Pureza