public void doAnnotate(File path, SVNRevision pegRevision, SVNRevision revision, ISVNAnnotationHandler handler) throws SVNException {
public void doAnnotate(File path, SVNRevision pegRevision, SVNRevision startRevision, SVNRevision endRevision, ISVNAnnotateHandler handler) throws SVNException { if (startRevision == null || !startRevision.isValid()) { startRevision = SVNRevision.create(1); } SVNRepository repos = createRepository(path, null, pegRevision, endRevision, null); DebugLog.log("end revision: " + endRevision); long endRev = getRevisionNumber(path, null, repos, endRevision); long startRev = getRevisionNumber(path, null, repos, startRevision); if (endRev < startRev) { SVNErrorManager.error("svn: Start revision must precede end revision (" + startRev + ":" + endRev + ")"); }     File tmpFile = new File(path.getParentFile(), ".svn/tmp/text-base"); if (!tmpFile.exists()) { tmpFile = new File(System.getProperty("user.home"), ".javasvn"); tmpFile.mkdirs(); } SVNAnnotationGenerator generator = new SVNAnnotationGenerator(path.getAbsolutePath(), startRev, tmpFile); try { repos.getFileRevisions("", startRev, endRev, generator); generator.reportAnnotations(handler, null); } finally { generator.dispose(); SVNFileUtil.deleteAll(tmpFile, false); }
    public void doAnnotate(File path, SVNRevision pegRevision, SVNRevision revision, ISVNAnnotationHandler handler) throws SVNException {    }