private Map getPathsHistoryAsMergeInfo(String[] paths, long startRevision, long endRevision) throws SVNException { if (startRevision < endRevision) { long temp = startRevision; startRevision = endRevision; endRevision = temp; } Map target = new SVNHashMap(); FSLocationsFinder locationsFinder = new FSLocationsFinder(myFSFS); final Collection locationSegments = new ArrayList(); ISVNLocationSegmentHandler locationsReceiver = new ISVNLocationSegmentHandler() { public void handleLocationSegment(SVNLocationSegment locationSegment) throws SVNException { locationSegments.add(locationSegment); } }; for (int i = 0; i < paths.length; i++) { locationsFinder.getNodeLocationSegments(paths[i], startRevision, startRevision, endRevision, locationsReceiver); Map mergeInfo = SVNMergeDriver.getMergeInfoFromSegments(locationSegments); target = SVNMergeInfoUtil.mergeMergeInfos(target, mergeInfo); } return target; }
Map targetHistoryAsMergeInfo = getMergeInfoFromSegments(segments); targetHistoryAsMergeInfo = SVNMergeInfoUtil.filterMergeInfoByRanges(targetHistoryAsMergeInfo, srcRev, ycAncestorRev[0]); SVNMergeInfo sourceMergeInfoObject = (SVNMergeInfo) srcCatalog.get(srcPath); Map srcHistoryAsMergeInfo = getMergeInfoFromSegments(segments); srcMergeInfo = SVNMergeInfoUtil.mergeMergeInfos(srcMergeInfo, srcHistoryAsMergeInfo); Map commonMergeInfo = SVNMergeInfoUtil.intersectMergeInfo(srcMergeInfo, targetHistoryAsMergeInfo); Map targetHistoryAsMergeInfo = getMergeInfoFromSegments(segments); Map explicitSrcTgtHistoryIntersection = SVNMergeInfoUtil.intersectMergeInfo(srcMergeInfo, targetHistoryAsMergeInfo); if (!explicitSrcTgtHistoryIntersection.isEmpty()) { Map srcHistoryAsMergeInfo = getMergeInfoFromSegments(segments); srcMergeInfo = SVNMergeInfoUtil.mergeMergeInfos(srcMergeInfo, srcHistoryAsMergeInfo); Map commonMergeInfo = SVNMergeInfoUtil.intersectMergeInfo(srcMergeInfo, targetHistoryAsMergeInfo);
Map targetHistoryAsMergeInfo = getMergeInfoFromSegments(segments); Map srcHistoryAsMergeInfo = getMergeInfoFromSegments(segments); srcMergeInfo = SVNMergeInfoUtil.mergeMergeInfos(srcMergeInfo, srcHistoryAsMergeInfo); Map commonMergeInfo = SVNMergeInfoUtil.intersectMergeInfo(srcMergeInfo, targetHistoryAsMergeInfo); Map targetHistoryAsMergeInfo = getMergeInfoFromSegments(segments); Map explicitSrcTgtHistoryIntersection = SVNMergeInfoUtil.intersectMergeInfo(srcMergeInfo, targetHistoryAsMergeInfo); if (!explicitSrcTgtHistoryIntersection.isEmpty()) { Map srcHistoryAsMergeInfo = getMergeInfoFromSegments(segments); srcMergeInfo = SVNMergeInfoUtil.mergeMergeInfos(srcMergeInfo, srcHistoryAsMergeInfo); Map commonMergeInfo = SVNMergeInfoUtil.intersectMergeInfo(srcMergeInfo, targetHistoryAsMergeInfo);
Map targetHistoryAsMergeInfo = getMergeInfoFromSegments(segments); targetHistoryAsMergeInfo = SVNMergeInfoUtil.filterMergeInfoByRanges(targetHistoryAsMergeInfo, srcRev, ycAncestorRev[0]); SVNMergeInfo sourceMergeInfoObject = (SVNMergeInfo) srcCatalog.get(srcPath); Map srcHistoryAsMergeInfo = getMergeInfoFromSegments(segments); srcMergeInfo = SVNMergeInfoUtil.mergeMergeInfos(srcMergeInfo, srcHistoryAsMergeInfo); Map commonMergeInfo = SVNMergeInfoUtil.intersectMergeInfo(srcMergeInfo, targetHistoryAsMergeInfo); Map targetHistoryAsMergeInfo = getMergeInfoFromSegments(segments); Map explicitSrcTgtHistoryIntersection = SVNMergeInfoUtil.intersectMergeInfo(srcMergeInfo, targetHistoryAsMergeInfo); if (!explicitSrcTgtHistoryIntersection.isEmpty()) { Map srcHistoryAsMergeInfo = getMergeInfoFromSegments(segments); srcMergeInfo = SVNMergeInfoUtil.mergeMergeInfos(srcMergeInfo, srcHistoryAsMergeInfo); Map commonMergeInfo = SVNMergeInfoUtil.intersectMergeInfo(srcMergeInfo, targetHistoryAsMergeInfo);
protected Map getHistoryAsMergeInfo(SVNURL url, File path, SVNRevision pegRevision, long rangeYoungest, long rangeOldest, SVNRepository repos, SVNWCAccess access) throws SVNException { long[] pegRevNum = new long[1]; pegRevNum[0] = SVNRepository.INVALID_REVISION; url = deriveLocation(path, url, pegRevNum, pegRevision, repos, access); boolean closeSession = false; try { if (repos == null) { repos = createRepository(url, null, null, false); closeSession = true; } if (!SVNRevision.isValidRevisionNumber(rangeYoungest)) { rangeYoungest = pegRevNum[0]; } if (!SVNRevision.isValidRevisionNumber(rangeOldest)) { rangeOldest = 0; } Collection segments = repos.getLocationSegments("", pegRevNum[0], rangeYoungest, rangeOldest); return getMergeInfoFromSegments(segments); } finally { if (closeSession) { repos.closeSession(); } } }
public Map getHistoryAsMergeInfo(SVNURL url, File path, SVNRevision pegRevision, long rangeYoungest, long rangeOldest, SVNRepository repos, SVNWCAccess access) throws SVNException { long[] pegRevNum = new long[1]; pegRevNum[0] = SVNRepository.INVALID_REVISION; url = deriveLocation(path, url, pegRevNum, pegRevision, repos, access); boolean closeSession = false; try { if (repos == null) { repos = createRepository(url, null, null, false); closeSession = true; } if (!SVNRevision.isValidRevisionNumber(rangeYoungest)) { rangeYoungest = pegRevNum[0]; } if (!SVNRevision.isValidRevisionNumber(rangeOldest)) { rangeOldest = 0; } Collection segments = repos.getLocationSegments("", pegRevNum[0], rangeYoungest, rangeOldest); return getMergeInfoFromSegments(segments); } finally { if (closeSession) { repos.closeSession(); } } }
public Map getHistoryAsMergeInfo(SVNURL url, File path, SVNRevision pegRevision, long rangeYoungest, long rangeOldest, SVNRepository repos, SVNWCAccess access) throws SVNException { long[] pegRevNum = new long[1]; pegRevNum[0] = SVNRepository.INVALID_REVISION; url = deriveLocation(path, url, pegRevNum, pegRevision, repos, access); boolean closeSession = false; try { if (repos == null) { repos = createRepository(url, null, null, false); closeSession = true; } if (!SVNRevision.isValidRevisionNumber(rangeYoungest)) { rangeYoungest = pegRevNum[0]; } if (!SVNRevision.isValidRevisionNumber(rangeOldest)) { rangeOldest = 0; } Collection segments = repos.getLocationSegments("", pegRevNum[0], rangeYoungest, rangeOldest); return getMergeInfoFromSegments(segments); } finally { if (closeSession) { repos.closeSession(); } } }
return SVNMergeDriver.getMergeInfoFromSegments(segments);