doList(url, pegRevision, revision, false, recursive, handler);
}
private void doAnnotate(String path, long startRev, File tmpFile, SVNRepository repos, long endRev, boolean ignoreMimeType,
ISVNAnnotateHandler handler, String inputEncoding, boolean includeMergedRevisions) throws SVNException {
SVNAnnotationGenerator generator = new SVNAnnotationGenerator(path, tmpFile, startRev, ignoreMimeType, includeMergedRevisions,
getDiffOptions(), inputEncoding, handler, this);
// always spool HTTP response for non-standard annotation handlers.
boolean useSpool = handler != null && !handler.getClass().getName().startsWith("org.tmatesoft.svn.");
boolean oldSpool = false;
if (useSpool && repos instanceof DAVRepository) {
oldSpool = ((DAVRepository) repos).isSpoolResponse();
((DAVRepository) repos).setSpoolResponse(true);
}
try {
repos.getFileRevisions("", startRev > 0 ? startRev - 1 : startRev,
endRev, includeMergedRevisions, generator);
if (!generator.isLastRevisionReported()) {
generator.reportAnnotations(handler, inputEncoding);
}
} finally {
if (useSpool && repos instanceof DAVRepository) {
((DAVRepository) repos).setSpoolResponse(oldSpool);
}
generator.dispose();
SVNFileUtil.deleteAll(tmpFile, !"text-base".equals(tmpFile.getName()), null);
}
}