public void doInfo(File path, SVNRevision revision, boolean recursive, ISVNInfoHandler handler) throws SVNException { if (handler == null) { return; } if (!(revision == null || !revision.isValid() || revision == SVNRevision.WORKING)) { SVNWCAccess wcAccess = createWCAccess(path); SVNRevision wcRevision = null; SVNURL url = null; try { wcAccess.open(false, false); SVNEntry entry = wcAccess.getTargetEntry(); if (entry == null) { SVNErrorManager.error("svn: '" + path + "' is not under version control"); } url = entry.getSVNURL(); if (url == null) { SVNErrorManager.error("svn: '" + path.getAbsolutePath() + "' has no URL"); } wcRevision = SVNRevision.create(entry.getRevision()); } finally { wcAccess.close(false); } doInfo(url, wcRevision, revision, recursive, handler); return; } SVNWCAccess wcAccess = createWCAccess(path); try { wcAccess.open(false, recursive); collectInfo(wcAccess.getAnchor(), wcAccess.getTargetName(), recursive, handler); } finally { wcAccess.close(false); }
public void doInfo(File path, SVNRevision revision, boolean recursive, ISVNInfoHandler handler) throws SVNException { doInfo(path, SVNRevision.UNDEFINED, revision, recursive, handler);
    public void doInfo(File path, SVNRevision revision, boolean recursive,            ISVNInfoHandler handler) throws SVNException {        if (handler == null) {            return;        }        if (!(revision == null || !revision.isValid() || revision == SVNRevision.WORKING)) {            SVNWCAccess wcAccess = createWCAccess(path);            SVNRevision wcRevision = null;            SVNURL url = null;            try {                wcAccess.open(false, false);                SVNEntry entry = wcAccess.getTargetEntry();                if (entry == null) {                    SVNErrorManager.error("svn: '" + path + "' is not under version control");                }                url = entry.getSVNURL();                if (url == null) {                    SVNErrorManager.error("svn: '" + path.getAbsolutePath() + "' has no URL");                }                wcRevision = SVNRevision.create(entry.getRevision());            } finally {                wcAccess.close(false);            }            doInfo(url, wcRevision, revision, recursive, handler);            return;        }        SVNWCAccess wcAccess = createWCAccess(path);        try {            wcAccess.open(false, recursive);            collectInfo(wcAccess.getAnchor(), wcAccess.getTargetName(),                    recursive, handler);        } finally {            wcAccess.close(false);        }    }