public static RevisionRange[] createRevisionRanges(SVNMergeRangeList rangeList) { if (rangeList == null) { return null; } SVNMergeRange[] ranges = rangeList.getRanges(); RevisionRange[] result = new RevisionRange[ranges.length]; for (int i = 0; i < ranges.length; i++) { result[i] = createRevisionRange(ranges[i]); } return result; }
public static RevisionRange[] createRevisionRanges(SVNMergeRangeList rangeList) { if (rangeList == null) { return null; } SVNMergeRange[] ranges = rangeList.getRanges(); RevisionRange[] result = new RevisionRange[ranges.length]; for (int i = 0; i < ranges.length; i++) { result[i] = createRevisionRange(ranges[i]); } return result; }
public static RevisionRange[] createRevisionRanges(SVNMergeRangeList rangeList) { if (rangeList == null) { return null; } SVNMergeRange[] ranges = rangeList.getRanges(); RevisionRange[] result = new RevisionRange[ranges.length]; for (int i = 0; i < ranges.length; i++) { result[i] = createRevisionRange(ranges[i]); } return result; }
public static RevisionRange[] createRevisionRanges(SVNMergeRangeList rangeList) { if (rangeList == null) { return null; } SVNMergeRange[] ranges = rangeList.getRanges(); RevisionRange[] result = new RevisionRange[ranges.length]; for (int i = 0; i < ranges.length; i++) { result[i] = createRevisionRange(ranges[i]); } return result; }
public static boolean isNonInheritable(Map<String, SVNMergeRangeList> mergeInfo) { if (mergeInfo != null) { for (String path : mergeInfo.keySet()) { SVNMergeRangeList rangeList = mergeInfo.get(path); SVNMergeRange[] ranges = rangeList.getRanges(); for (int i = 0; ranges != null && i < ranges.length; i++) { if (ranges[i] != null && !ranges[i].isInheritable()) { return true; } } } } return false; }
private void removeFirstRangeFromRemainingRanges(long endRevision, Map<File, MergePath> childrenWithMergeInfo) { for (Iterator<MergePath> children = childrenWithMergeInfo.values().iterator(); children.hasNext();) { MergePath child = (MergePath) children.next(); if (child == null || child.absent) { continue; } if (!child.remainingRanges.isEmpty()) { SVNMergeRange[] originalRemainingRanges = child.remainingRanges.getRanges(); SVNMergeRange firstRange = originalRemainingRanges[0]; if (firstRange.getEndRevision() == endRevision) { SVNMergeRange[] remainingRanges = new SVNMergeRange[originalRemainingRanges.length - 1]; System.arraycopy(originalRemainingRanges, 1, remainingRanges, 0, originalRemainingRanges.length - 1); child.remainingRanges = new SVNMergeRangeList(remainingRanges); } } } }
private void removeFirstRangeFromRemainingRanges(long endRevision, List childrenWithMergeInfo) { for (Iterator children = childrenWithMergeInfo.iterator(); children.hasNext();) { MergePath child = (MergePath) children.next(); if (child == null || child.myIsAbsent) { continue; } if (!child.myRemainingRanges.isEmpty()) { SVNMergeRange[] originalRemainingRanges = child.myRemainingRanges.getRanges(); SVNMergeRange firstRange = originalRemainingRanges[0]; if (firstRange.getEndRevision() == endRevision) { SVNMergeRange[] remainingRanges = new SVNMergeRange[originalRemainingRanges.length - 1]; System.arraycopy(originalRemainingRanges, 1, remainingRanges, 0, originalRemainingRanges.length - 1); child.myRemainingRanges = new SVNMergeRangeList(remainingRanges); } } } }
public static Mergeinfo createMergeInfo(Map mergeInfo) { if (mergeInfo == null) { return null; } Mergeinfo result = new Mergeinfo(); for (Iterator iterator = mergeInfo.entrySet().iterator(); iterator.hasNext();) { Map.Entry entry = (Map.Entry) iterator.next(); SVNURL mergeSrcURL = (SVNURL) entry.getKey(); String url = mergeSrcURL.toString(); SVNMergeRangeList rangeList = (SVNMergeRangeList) entry.getValue(); SVNMergeRange[] ranges = rangeList.getRanges(); for (int i = 0; i < ranges.length; i++) { SVNMergeRange range = ranges[i]; result.addRevisionRange(url, createRevisionRange(range)); } } return result; }
private void removeFirstRangeFromRemainingRanges(long endRevision, List childrenWithMergeInfo) { for (Iterator children = childrenWithMergeInfo.iterator(); children.hasNext();) { MergePath child = (MergePath) children.next(); if (child == null || child.myIsAbsent) { continue; } if (!child.myRemainingRanges.isEmpty()) { SVNMergeRange[] originalRemainingRanges = child.myRemainingRanges.getRanges(); SVNMergeRange firstRange = originalRemainingRanges[0]; if (firstRange.getEndRevision() == endRevision) { SVNMergeRange[] remainingRanges = new SVNMergeRange[originalRemainingRanges.length - 1]; System.arraycopy(originalRemainingRanges, 1, remainingRanges, 0, originalRemainingRanges.length - 1); child.myRemainingRanges = new SVNMergeRangeList(remainingRanges); } } } }
public static Mergeinfo createMergeInfo(Map mergeInfo) { if (mergeInfo == null) { return null; } Mergeinfo result = new Mergeinfo(); for (Iterator iterator = mergeInfo.entrySet().iterator(); iterator.hasNext();) { Map.Entry entry = (Map.Entry) iterator.next(); SVNURL mergeSrcURL = (SVNURL) entry.getKey(); String url = mergeSrcURL.toString(); SVNMergeRangeList rangeList = (SVNMergeRangeList) entry.getValue(); SVNMergeRange[] ranges = rangeList.getRanges(); for (int i = 0; i < ranges.length; i++) { SVNMergeRange range = ranges[i]; result.addRevisionRange(url, createRevisionRange(range)); } } return result; }
public static Mergeinfo createMergeInfo(Map mergeInfo) { if (mergeInfo == null) { return null; } Mergeinfo result = new Mergeinfo(); for (Iterator iterator = mergeInfo.entrySet().iterator(); iterator.hasNext();) { Map.Entry entry = (Map.Entry) iterator.next(); SVNURL mergeSrcURL = (SVNURL) entry.getKey(); String url = mergeSrcURL.toString(); SVNMergeRangeList rangeList = (SVNMergeRangeList) entry.getValue(); SVNMergeRange[] ranges = rangeList.getRanges(); for (int i = 0; i < ranges.length; i++) { SVNMergeRange range = ranges[i]; result.addRevisionRange(url, createRevisionRange(range)); } } return result; }
public static Mergeinfo createMergeInfo(Map mergeInfo) { if (mergeInfo == null) { return null; } Mergeinfo result = new Mergeinfo(); for (Iterator iterator = mergeInfo.entrySet().iterator(); iterator.hasNext();) { Map.Entry entry = (Map.Entry) iterator.next(); SVNURL mergeSrcURL = (SVNURL) entry.getKey(); String url = mergeSrcURL.toString(); SVNMergeRangeList rangeList = (SVNMergeRangeList) entry.getValue(); SVNMergeRange[] ranges = rangeList.getRanges(); for (int i = 0; i < ranges.length; i++) { SVNMergeRange range = ranges[i]; result.addRevisionRange(url, createRevisionRange(range)); } } return result; }
protected boolean mergeInfoConflicts(SVNMergeRangeList rangeList, File path) { if (rangeList == null) { return false; } SVNMergeRange currentRange = new SVNMergeRange(Math.min(myRevision1, myRevision2), Math.max(myRevision1, myRevision2), false); SVNMergeRange[] ranges = rangeList.getRanges(); for (int i = 0; i < ranges.length; i++) { SVNMergeRange range = ranges[i]; if (currentRange.intersects(range, false)) { if (range.contains(currentRange, false)) { continue; } SVNDebugLog.getDefaultLog().logFine(SVNLogType.WC, "merge ext: merge info conflict found on " + path.getAbsolutePath()); return true; } } return false; }
private long getMostInclusiveEndRevision(Map<File, MergePath> childrenWithMergeInfo, boolean isRollBack) { long endRev = SVNRepository.INVALID_REVISION; for (MergePath child : childrenWithMergeInfo.values()) { if (child == null || child.absent) { continue; } if (child.remainingRanges.getSize() > 0) { SVNMergeRange ranges[] = child.remainingRanges.getRanges(); SVNMergeRange range = ranges[0]; if (!SVNRevision.isValidRevisionNumber(endRev) || (isRollBack && range.getEndRevision() > endRev) || (!isRollBack && range.getEndRevision() < endRev)) { endRev = range.getEndRevision(); } } } return endRev; }
protected void getLogsForMergeInfoRangeList(SVNURL reposRootURL, String[] paths, SVNMergeRangeList rangeList, boolean discoverChangedPaths, String[] revProps, ISVNLogEntryHandler handler) throws SVNException { if (rangeList.isEmpty()) { return; } SVNMergeRange[] listRanges = rangeList.getRanges(); Arrays.sort(listRanges); SVNMergeRange youngestRange = listRanges[listRanges.length - 1]; SVNRevision youngestRev = SVNRevision.create(youngestRange.getEndRevision()); SVNMergeRange oldestRange = listRanges[0]; SVNRevision oldestRev = SVNRevision.create(oldestRange.getStartRevision()); LogHandlerFilter filterHandler = new LogHandlerFilter(handler, rangeList); SVNLogClient16 logClient = getLogClient(); logClient.doLog(reposRootURL, paths, youngestRev, oldestRev, youngestRev, false, discoverChangedPaths, false, 0, revProps, filterHandler); checkCancelled(); }
protected void getLogsForMergeInfoRangeList(SVNURL reposRootURL, String[] paths, SVNMergeRangeList rangeList, boolean discoverChangedPaths, String[] revProps, ISVNLogEntryHandler handler) throws SVNException { if (rangeList.isEmpty()) { return; } SVNMergeRange[] listRanges = rangeList.getRanges(); Arrays.sort(listRanges); SVNMergeRange youngestRange = listRanges[listRanges.length - 1]; SVNRevision youngestRev = SVNRevision.create(youngestRange.getEndRevision()); SVNMergeRange oldestRange = listRanges[0]; SVNRevision oldestRev = SVNRevision.create(oldestRange.getStartRevision()); LogHandlerFilter filterHandler = new LogHandlerFilter(handler, rangeList); SVNLogClient logClient = getLogClient(); logClient.doLog(reposRootURL, paths, youngestRev, oldestRev, youngestRev, false, discoverChangedPaths, false, 0, revProps, filterHandler); checkCancelled(); }
protected void getLogsForMergeInfoRangeList(SVNURL reposRootURL, String[] paths, SVNMergeRangeList rangeList, boolean discoverChangedPaths, String[] revProps, ISVNLogEntryHandler handler) throws SVNException { if (rangeList.isEmpty()) { return; } SVNMergeRange[] listRanges = rangeList.getRanges(); Arrays.sort(listRanges); SVNMergeRange youngestRange = listRanges[listRanges.length - 1]; SVNRevision youngestRev = SVNRevision.create(youngestRange.getEndRevision()); SVNMergeRange oldestRange = listRanges[0]; SVNRevision oldestRev = SVNRevision.create(oldestRange.getStartRevision()); LogHandlerFilter filterHandler = new LogHandlerFilter(handler, rangeList); SVNLogClient logClient = getLogClient(); logClient.doLog(reposRootURL, paths, youngestRev, oldestRev, youngestRev, false, discoverChangedPaths, false, 0, revProps, filterHandler); checkCancelled(); }
private void removeSourceGap(SVNMergeRange range, SVNMergeRangeList implicitSrcGap) { if (implicitSrcGap != null) { SVNMergeRange gapRange = implicitSrcGap.getRanges()[0]; if (range.getStartRevision() < range.getEndRevision()) { if (gapRange.getStartRevision() == range.getStartRevision()) { range.setStartRevision(gapRange.getEndRevision()); } } else { if (gapRange.getStartRevision() == range.getEndRevision()) { range.setEndRevision(gapRange.getEndRevision()); } } } }
private void removeSourceGap(SVNMergeRange range, SVNMergeRangeList implicitSrcGap) { if (implicitSrcGap != null) { SVNMergeRange gapRange = implicitSrcGap.getRanges()[0]; if (range.getStartRevision() < range.getEndRevision()) { if (gapRange.getStartRevision() == range.getStartRevision()) { range.setStartRevision(gapRange.getEndRevision()); } } else { if (gapRange.getStartRevision() == range.getEndRevision()) { range.setEndRevision(gapRange.getEndRevision()); } } } }