protected Object[] calculateRemainingRangeList(File targetFile, SVNEntry entry, SVNURL sourceRoot, boolean[] indirect,
SVNURL url1, long revision1, SVNURL url2, long revision2, SVNMergeRange range) throws SVNException {
if (skipExtendedMerge() || myCurrentRemainingRanges == null) {
return super.calculateRemainingRangeList(targetFile, entry, sourceRoot, indirect, url1, revision1, url2, revision2, range);
}
Map targetMergeInfo = null;
Map implicitMergeInfo = null;
if (isHonorMergeInfo()) {
myRepository1.setLocation(entry.getSVNURL(), false);
Map[] fullMergeInfo = getFullMergeInfo(entry, indirect, SVNMergeInfoInheritance.INHERITED,
myRepository1, targetFile, Math.max(revision1, revision2), Math.min(revision1, revision2));
targetMergeInfo = fullMergeInfo[0];
implicitMergeInfo = fullMergeInfo[1];
myRepository1.setLocation(url1, false);
}
return new Object[]{myCurrentRemainingRanges, targetMergeInfo, implicitMergeInfo};
}