Hello Luis,

Probably you've run into this issue:

http://issues.tmatesoft.com/issue/SVNKIT-481

It was fixed at 1.8.5, please consider upgrading to the latest SVNKit version.

What about not working second method: I can't reproduce the problem. Moreover, 
doDiff() method calls 
SvnDiff operation (see SVNDiffClient#doDiff implementation), so they can't be 
very different.
If the problem is reproducible for you, could you please send us a test 
repository and working copy 
on which the problem is reproducible.
--
Dmitry Pavlenko,
TMate Software,
http://subgit.com/ - git-svn bridge

> 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