public Object[] calculateRemainingRangeList(File targetFile, SVNEntry entry, SVNURL sourceRoot, boolean[] indirect, SVNURL url1, long revision1, SVNURL url2, long revision2, SVNMergeRange range) throws SVNException { SVNMergeRangeList remainingRangeList = null; Map targetMergeInfo = null; Map implicitMergeInfo = null; boolean honorMergeInfo = isHonorMergeInfo(); if (honorMergeInfo) { MergePath mergeTarget = new MergePath(); 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); if (!myIsRecordOnly) { calculateRemainingRanges(null, mergeTarget, sourceRoot, url1, revision1, url2, revision2, targetMergeInfo, implicitMergeInfo, myImplicitSrcGap, false, entry, myRepository1); remainingRangeList = mergeTarget.myRemainingRanges; } } if (!honorMergeInfo || myIsRecordOnly) { remainingRangeList = new SVNMergeRangeList(range); } return new Object[]{remainingRangeList, targetMergeInfo, implicitMergeInfo}; }
calculateRemainingRanges(parent, child, sourceRootURL, childURL1, revision1, childURL2, revision2, child.myPreMergeMergeInfo, child.myImplicitMergeInfo, index > 0, childEntry, repository);
public Object[] calculateRemainingRangeList(File targetFile, SVNEntry entry, SVNURL sourceRoot, boolean[] indirect, SVNURL url1, long revision1, SVNURL url2, long revision2, SVNMergeRange range) throws SVNException { SVNMergeRangeList remainingRangeList = null; Map targetMergeInfo = null; Map implicitMergeInfo = null; boolean honorMergeInfo = isHonorMergeInfo(); if (honorMergeInfo) { MergePath mergeTarget = new MergePath(targetFile); myRepository1.setLocation(entry.getSVNURL(), false); Map[] fullMergeInfo = getFullMergeInfo(entry, true, true, indirect, SVNMergeInfoInheritance.INHERITED, myRepository1, targetFile, Math.max(revision1, revision2), Math.min(revision1, revision2)); targetMergeInfo = fullMergeInfo[0]; implicitMergeInfo = fullMergeInfo[1]; myRepository1.setLocation(url1, false); if (!myIsRecordOnly) { calculateRemainingRanges(null, mergeTarget, sourceRoot, url1, revision1, url2, revision2, targetMergeInfo, myImplicitSrcGap, false, false, entry, myRepository1); remainingRangeList = mergeTarget.myRemainingRanges; } } if (!honorMergeInfo || myIsRecordOnly) { remainingRangeList = new SVNMergeRangeList(range); } return new Object[]{remainingRangeList, targetMergeInfo, implicitMergeInfo}; }
protected Object[] calculateRemainingRangeList(File targetFile, SVNEntry entry, SVNURL sourceRoot, boolean[] indirect, SVNURL url1, long revision1, SVNURL url2, long revision2, SVNMergeRange range) throws SVNException { SVNMergeRangeList remainingRangeList = null; Map targetMergeInfo = null; Map implicitMergeInfo = null; boolean honorMergeInfo = isHonorMergeInfo(); if (honorMergeInfo) { MergePath mergeTarget = new MergePath(); 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); if (!myIsRecordOnly) { calculateRemainingRanges(null, mergeTarget, sourceRoot, url1, revision1, url2, revision2, targetMergeInfo, implicitMergeInfo, false, entry, myRepository1); remainingRangeList = mergeTarget.myRemainingRanges; } } if (!honorMergeInfo || myIsRecordOnly) { remainingRangeList = new SVNMergeRangeList(range); } return new Object[]{remainingRangeList, targetMergeInfo, implicitMergeInfo}; }
calculateRemainingRanges(parent, child, sourceRootURL, childURL1, revision1, childURL2, revision2, child.myPreMergeMergeInfo, child.myImplicitMergeInfo, myImplicitSrcGap, index > 0, childEntry, repository);
calculateRemainingRanges(parent, child, sourceRootURL, childURL1, revision1, childURL2, revision2, child.myPreMergeMergeInfo, myImplicitSrcGap, index > 0, childInheritsImplicit, childEntry, repository);