SVNCommitInfo info = new SVNCommitInfo(committedRev, authorProp, datestamp);
SVNCommitInfo info = new SVNCommitInfo(committedRev, authorProp, datestamp, errorMessage);
    public SVNCommitInfo closeEdit() throws SVNException {        if (myTxn == null) {            SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.REPOS_BAD_ARGS, "No valid transaction supplied to closeEdit()");            SVNErrorManager.error(err);        }        long committedRev = -1;        try {            committedRev = finalizeCommit();        } catch (SVNException svne) {            // ignore post-commit hook failure            if (svne.getErrorMessage().getErrorCode() != SVNErrorCode.REPOS_POST_COMMIT_HOOK_FAILED) {                throw svne;            }        }        Map revProps = myFSFS.getRevisionProperties(committedRev);        String dateProp = (String) revProps.get(SVNRevisionProperty.DATE);        String authorProp = (String) revProps.get(SVNRevisionProperty.AUTHOR);        Date datestamp = dateProp != null ? SVNTimeUtil.parseDateString(dateProp) : null;        SVNCommitInfo info = new SVNCommitInfo(committedRev, authorProp, datestamp);        releaseLocks();        myRepository.closeRepository();        return info;    }