public void closeFile(String textChecksum) throws SVNException {
public void closeFile(String commitPath, String textChecksum) throws SVNException {
    public void closeFile(String textChecksum) throws SVNException {        DebugLog.log("close file");        SVNDirectory dir = myWCAccess.getDirectory(myCurrentDirectory.myWCPath);        if (dir == null && !myMerger.isDryRun()) {            // not for dry run?            SVNEvent event = SVNEventFactory.createMergeEvent(myWCAccess, myCurrentFile.myWCPath, SVNEventAction.SKIP, null, null);            myWCAccess.svnEvent(event, ISVNEventListener.UNKNOWN);        } else {            SVNStatusType contents = SVNStatusType.UNCHANGED;            SVNStatusType props = SVNStatusType.UNCHANGED;            DebugLog.log("propdiff: " + myCurrentFile.myPropertyDiff);            if (myCurrentFile.myPropertyDiff != null || myCurrentFile.myFile != null) {                String mimeType1 = (String) myCurrentFile.myBaseProperties.get(SVNProperty.MIME_TYPE);                String mimeType2 = myCurrentFile.myPropertyDiff != null ? (String) myCurrentFile.myPropertyDiff.get(SVNProperty.MIME_TYPE) : null;                if (mimeType2 == null) {                    mimeType2 = mimeType1;                }                if (myCurrentFile.myPropertyDiff == null) {                    myCurrentFile.myPropertyDiff = new HashMap();                }                DebugLog.log("m.type: " + mimeType1);                SVNStatusType[] result = null;                if (myCurrentFile.myIsAdded) {                    DebugLog.log("adding file: " + myCurrentFile.myWCPath);                    try {                    result = myMerger.fileAdded(myCurrentFile.myWCPath, myCurrentFile.myFile != null ? myCurrentFile.myBaseFile : null, myCurrentFile.myFile, myRevision2, 0,                            mimeType1, mimeType2, myCurrentFile.myBaseProperties, myCurrentFile.myPropertyDiff,                            myCurrentFile.myEntryProps);                    } catch (Throwable th) {                        DebugLog.error(th);                    }                    DebugLog.log("file added, merge result: " + result[0]);                } else {                    DebugLog.log("merging file: " + myCurrentFile.myWCPath);                    DebugLog.log("base : " + myCurrentFile.myBaseFile);                    DebugLog.log("target: " + myCurrentFile.myFile);                    try {                        result = myMerger.fileChanged(myCurrentFile.myWCPath, myCurrentFile.myBaseFile, myCurrentFile.myFile, myRevision1, myRevision2,                                mimeType1, mimeType2, myCurrentFile.myBaseProperties, myCurrentFile.myPropertyDiff);                    } catch (Throwable th) {                        DebugLog.error(th);                    }                    DebugLog.log("file modified, merge result: " + result[0]);                }                contents = result[0];                props = result[1];            }            SVNEventAction action;            if (contents == SVNStatusType.MISSING || contents == SVNStatusType.OBSTRUCTED) {                action = SVNEventAction.SKIP;            } else if (myCurrentFile.myIsAdded) {                action = SVNEventAction.ADD;            } else {                action = SVNEventAction.UPDATE_UPDATE;            }            DebugLog.log("close file, merge result: " + contents + ":" + props);            SVNEvent event = SVNEventFactory.createMergeEvent(myWCAccess, myCurrentFile.myWCPath, action, contents, props);            myWCAccess.svnEvent(event, ISVNEventListener.UNKNOWN);        }        if (myCurrentFile.myFile != null) {            myCurrentFile.myFile.delete();        }        if (myCurrentFile.myBaseFile != null) {            myCurrentFile.myBaseFile.delete();        }    }