SVNEntry entry = getEntry(name, false);
SVNEntry2 entry = getEntry(name, false);
    public boolean hasTextModifications(String name, boolean forceComparison) throws SVNException {        SVNEntry entry = getEntry(name, false);        if (!forceComparison) {            if (entry == null || entry.isDirectory()) {                return false;            }                        String textTime = entry.getTextTime();            if (textTime != null) {                long textTimeAsLong = SVNFileUtil.roundTimeStamp(SVNTimeUtil.parseDateAsLong(textTime));                long tstamp = SVNFileUtil.roundTimeStamp(getFile(name).lastModified());                if (textTimeAsLong == tstamp ) {                    return false;                }            }        }                SVNFileType fType = SVNFileType.getType(getFile(name));        if (fType != SVNFileType.FILE) {            return false;        }                File baseFile = getBaseFile(name, false);        SVNFileType baseFileType = SVNFileType.getType(baseFile);        if (baseFileType != SVNFileType.FILE) {            return true;        }        // translate versioned file.        File baseTmpFile = SVNFileUtil.createUniqueFile(getRoot(),                 SVNFileUtil.getBasePath(getBaseFile(name, true)), ".tmp");        if (!baseTmpFile.getParentFile().exists()) {            baseTmpFile.getParentFile().mkdirs();        }        File versionedFile = getFile(name);        SVNTranslator2.translate(this, name, name, SVNFileUtil.getBasePath(baseTmpFile), false, false);        // now compare file and get base file checksum (when forced)        MessageDigest digest;        boolean equals = true;        try {            digest = forceComparison ? MessageDigest.getInstance("MD5") : null;            equals = SVNFileUtil.compareFiles(baseFile, baseTmpFile, digest);            if (forceComparison) {                // if checksum differs from expected - throw exception                String checksum = SVNFileUtil.toHexDigest(digest);                if (!checksum.equals(entry.getChecksum())) {                    SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.WC_CORRUPT_TEXT_BASE, "Checksum mismatch indicates corrupt text base: ''{0}''\n" +                            "   expected: {1}\n" +                            "     actual: {2}\n", new Object[] {baseFile, entry.getChecksum(), checksum});                    SVNErrorManager.error(err);                }            }        } catch (NoSuchAlgorithmException e) {            SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.IO_ERROR, "MD5 implementation not found: {1}", e.getLocalizedMessage());            SVNErrorManager.error(err, e);        } finally {            baseTmpFile.delete();        }        if (equals && isLocked()) {            entry.setTextTime(SVNTimeUtil.formatDate(new Date(versionedFile.lastModified())));            saveEntries(false);        }        return !equals;    }