SVNWCAccess wcAccess, boolean recursive, boolean useAncestry, boolean force, boolean dryRun) throws SVNException {
SVNWCAccess wcAccess, boolean force, boolean dryRun) throws SVNException {
    private void doMergeFile(SVNURL url1, File path1, SVNRevision revision1, SVNURL url2, File path2, SVNRevision revision2, SVNRevision pegRevision,            SVNWCAccess wcAccess, boolean recursive, boolean useAncestry, boolean force, boolean dryRun) throws SVNException {                if (pegRevision.isValid()) {            SVNRepositoryLocation[] locations = getLocations(url2, path2, pegRevision, revision1, revision2);            url1 = locations[0].getURL();            url2 = locations[1].getURL();            revision1 = SVNRevision.create(locations[0].getRevisionNumber());            revision2 = SVNRevision.create(locations[1].getRevisionNumber());            path1 = null;            path2 = null;        }        long[] rev1 = new long[1];        long[] rev2 = new long[2];        Map props1 = new HashMap();        Map props2 = new HashMap();        File f1 = null;        File f2 = null;        String name = wcAccess.getTargetName();        String mimeType2;        String mimeType1;        SVNStatusType[] mergeResult;        try {            f1 = loadFile(url1, path1, revision1, props1, wcAccess, rev1);            f2 = loadFile(url2, path2, revision2, props2, wcAccess, rev2);            mimeType1 = (String) props1.get(SVNProperty.MIME_TYPE);            mimeType2 = (String) props2.get(SVNProperty.MIME_TYPE);            props1 = filterProperties(props1, true, false, false);            props2 = filterProperties(props2, true, false, false);            Map propsDiff = computePropsDiff(props1, props2);                        SVNMerger merger = new SVNMerger(wcAccess, url2.toString(), rev2[0], force, dryRun, isLeaveConflictsUnresolved());            mergeResult = merger.fileChanged(name, f1, f2, rev1[0], rev2[0], mimeType1, mimeType2, props1, propsDiff);        } finally {            SVNFileUtil.deleteAll(f1);            SVNFileUtil.deleteAll(f2);        }        handleEvent(                SVNEventFactory.createUpdateModifiedEvent(wcAccess, wcAccess.getAnchor(), name, SVNNodeKind.FILE,                        SVNEventAction.UPDATE_UPDATE, mimeType2, mergeResult[0], mergeResult[1], SVNStatusType.LOCK_INAPPLICABLE),                ISVNEventHandler.UNKNOWN);    }