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

Reply via email to