Map baseProps, Map propDiff) throws SVNException {
Map propDiff) throws SVNException {
    public SVNStatusType[] fileChanged(String path, File older, File yours,            long rev1, long rev2, String mimeType1, String mimeType2,            Map baseProps, Map propDiff) throws SVNException {        SVNStatusType[] result = new SVNStatusType[] { SVNStatusType.UNKNOWN,                SVNStatusType.UNKNOWN };        String parentPath = SVNPathUtil.removeTail(path);        SVNDirectory parentDir = myWCAccess.getDirectory(parentPath);        if (parentDir == null) {            result[0] = SVNStatusType.MISSING;            result[1] = SVNStatusType.MISSING;            return result;        }        String name = SVNPathUtil.tail(path);        File mine = parentDir.getFile(name);        SVNEntry entry = parentDir.getEntries().getEntry(name, true);        if (!mine.isFile() || entry == null || entry.isHidden()) {            result[0] = SVNStatusType.MISSING;            result[1] = SVNStatusType.MISSING;            return result;        }        if (propDiff != null && !propDiff.isEmpty()) {            result[1] = propertiesChanged(parentPath, name, baseProps, propDiff);        } else {            result[1] = SVNStatusType.UNCHANGED;        }        if (older != null) {            boolean isTextModified = parentDir                    .hasTextModifications(name, false);            SVNStatusType mergeResult = null;            if (!isTextModified) {                if (SVNProperty.isBinaryMimeType(mimeType1) || SVNProperty.isBinaryMimeType(mimeType2)) {                    boolean equals = SVNFileUtil.compareFiles(mine, older, null);                    if (equals) {                        if (!myIsDryRun) {                            SVNFileUtil.rename(yours, mine);                        }                        mergeResult = SVNStatusType.MERGED;                    }                }            }            if (mergeResult == null) {                String minePath = name;                String olderPath = SVNFileUtil.getBasePath(older);                String yoursPath = SVNFileUtil.getBasePath(yours);                String targetLabel = ".working";                String leftLabel = ".merge-left.r" + rev1;                String rightLabel = ".merge-right.r" + rev2;                mergeResult = parentDir.mergeText(minePath, olderPath,                        yoursPath, targetLabel, leftLabel, rightLabel,                        myIsLeaveConflicts, myIsDryRun);                parentDir.getEntries().save(true);            }            if (mergeResult == SVNStatusType.CONFLICTED || mergeResult == SVNStatusType.CONFLICTED_UNRESOLVED) {                result[0] = mergeResult;            } else if (isTextModified) {                result[0] = SVNStatusType.MERGED;            } else if (mergeResult == SVNStatusType.MERGED) {                result[0] = SVNStatusType.CHANGED;            } else {                result[0] = SVNStatusType.UNCHANGED;            }        }        return result;    }