childRangeList = rangeList.dup(); SVNMergeRange[] childMergeRanges = childRangeList.getRanges(); for (int i = 0; i < childRangeList.getSize(); i++) { childMergeRanges[i].setInheritable(true);
if (rangelist.getSize() > 1) { gap[0] = Math.min(rev1, rev2); gap[1] = rangelist.getRanges()[rangelist.getSize() - 1].getStartRevision(); } else if (implicitSrcMergeInfo.size() > 1) { SVNMergeRangeList implicitMergeRangeList = new SVNMergeRangeList(new SVNMergeRange[0]); if (gapRangeList.getSize() > 0) { gap[0] = gapRangeList.getRanges()[0].getStartRevision(); gap[1] = gapRangeList.getRanges()[0].getEndRevision();
private long getMostInclusiveEndRevision(List childrenWithMergeInfo, boolean isRollBack) { long endRev = SVNRepository.INVALID_REVISION; for (int i = 0; i < childrenWithMergeInfo.size(); i++) { MergePath child = (MergePath) childrenWithMergeInfo.get(i); if (child == null || child.myIsAbsent) { continue; } if (child.myRemainingRanges.getSize() > 0) { SVNMergeRange ranges[] = child.myRemainingRanges.getRanges(); SVNMergeRange range = ranges[0]; if (!SVNRevision.isValidRevisionNumber(endRev) || (isRollBack && range.getEndRevision() > endRev) || (!isRollBack && range.getEndRevision() < endRev)) { endRev = range.getEndRevision(); } } } return endRev; }
private long getMostInclusiveEndRevision(List childrenWithMergeInfo, boolean isRollBack) { long endRev = SVNRepository.INVALID_REVISION; for (int i = 0; i < childrenWithMergeInfo.size(); i++) { MergePath child = (MergePath) childrenWithMergeInfo.get(i); if (child == null || child.myIsAbsent) { continue; } if (child.myRemainingRanges.getSize() > 0) { SVNMergeRange ranges[] = child.myRemainingRanges.getRanges(); SVNMergeRange range = ranges[0]; if (!SVNRevision.isValidRevisionNumber(endRev) || (isRollBack && range.getEndRevision() > endRev) || (!isRollBack && range.getEndRevision() < endRev)) { endRev = range.getEndRevision(); } } } return endRev; }
private long getMostInclusiveEndRevision(List childrenWithMergeInfo, boolean isRollBack) { long endRev = SVNRepository.INVALID_REVISION; for (int i = 0; i < childrenWithMergeInfo.size(); i++) { MergePath child = (MergePath) childrenWithMergeInfo.get(i); if (child == null || child.myIsAbsent) { continue; } if (child.myRemainingRanges.getSize() > 0) { SVNMergeRange ranges[] = child.myRemainingRanges.getRanges(); SVNMergeRange range = ranges[0]; if (!SVNRevision.isValidRevisionNumber(endRev) || (isRollBack && range.getEndRevision() > endRev) || (!isRollBack && range.getEndRevision() < endRev)) { endRev = range.getEndRevision(); } } } return endRev; }
if (rangelist.getSize() > 1) { gap[0] = Math.min(rev1, rev2); gap[1] = rangelist.getRanges()[rangelist.getSize() - 1].getStartRevision(); } else if (implicitSrcMergeInfo.size() > 1) { SVNMergeRangeList implicitMergeRangeList = new SVNMergeRangeList(new SVNMergeRange[0]); if (gapRangeList.getSize() > 0) { gap[0] = gapRangeList.getRanges()[0].getStartRevision(); gap[1] = gapRangeList.getRanges()[0].getEndRevision();
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; }
public SVNLocationSegment getYoungestCommonAncestor(SVNURL url1, long rev1, SVNURL url2, long rev2) throws SVNException { boolean[] hasZero1 = new boolean[1]; boolean[] hasZero2 = new boolean[1]; Map<String, SVNMergeRangeList> history1 = getHistoryAsMergeInfo(url1, SVNRevision.create(rev1), -1, -1, hasZero1, null); Map<String, SVNMergeRangeList> history2 = getHistoryAsMergeInfo(url2, SVNRevision.create(rev2), -1, -1, hasZero2, null); long ycRevision = -1; String ycPath = null; for (Iterator<String> paths = history1.keySet().iterator(); paths.hasNext();) { String path = paths.next(); SVNMergeRangeList ranges1 = history1.get(path); SVNMergeRangeList ranges2 = history2.get(path); if (ranges2 != null) { SVNMergeRangeList intersection = ranges1.intersect(ranges2, true); if (intersection != null && !intersection.isEmpty()) { SVNMergeRange ycRange = intersection.getRanges()[intersection.getSize() - 1]; if (ycRevision < 0 || ycRange.getEndRevision() > ycRevision) { ycRevision = ycRange.getEndRevision(); ycPath = path.substring(1); } } } } if (ycPath == null && hasZero1[0] && hasZero2[0]) { ycPath = "/"; ycRevision = 0; } return new SVNLocationSegment(ycRevision, ycRevision, ycPath); }
public void handleLogEntry(SVNLogEntry logEntry) throws SVNException { checkCancelled(); SVNMergeRange range = new SVNMergeRange(logEntry.getRevision() - 1, logEntry.getRevision(), true); SVNMergeRangeList thisRangeList = new SVNMergeRangeList(range); SVNMergeRangeList intersection = thisRangeList.intersect(myRangeList, true); if (intersection == null || intersection.isEmpty()) { return; } SVNErrorManager.assertionFailure(intersection.getSize() == 1, "intersection list size is " + intersection.getSize(), SVNLogType.WC); if (myRealHandler != null) { myRealHandler.handleLogEntry(logEntry); } } }
for (int i = 0; i < rangeList.getSize(); i++) { SVNMergeRange range = ranges[i];
public void handleLogEntry(SVNLogEntry logEntry) throws SVNException { checkCancelled(); SVNMergeRange range = new SVNMergeRange(logEntry.getRevision() - 1, logEntry.getRevision(), true); SVNMergeRangeList thisRangeList = new SVNMergeRangeList(range); SVNMergeRangeList intersection = thisRangeList.intersect(myRangeList, true); if (intersection == null || intersection.isEmpty()) { return; } if (intersection.getSize() != 1) { SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.UNKNOWN, "assertion failure in SVNMergeDriver.LogHandlerFilter.handleLogEntry: intersection list " + "size is {0}", new Integer(intersection.getSize())); SVNErrorManager.error(err, SVNLogType.DEFAULT); } if (myRealHandler != null) { myRealHandler.handleLogEntry(logEntry); } } }
for (String path : new HashSet<String>(mergeinfo.keySet())) { SVNMergeRangeList rl = mergeinfo.get(path); for (int i = 0; i < rl.getSize(); i++) { SVNMergeRange r = rl.getRanges()[i]; if (r.getEndRevision() <= revision) { } else { SVNMergeRangeList youngerRl = new SVNMergeRangeList(new SVNMergeRange[0]); for (int j = 0; j < rl.getSize(); j++) { SVNMergeRange r2 = rl.getRanges()[j]; SVNMergeRange youngerRange = r2.dup();
public void handleLogEntry(SVNLogEntry logEntry) throws SVNException { checkCancelled(); SVNMergeRange range = new SVNMergeRange(logEntry.getRevision() - 1, logEntry.getRevision(), true); SVNMergeRangeList thisRangeList = new SVNMergeRangeList(range); SVNMergeRangeList intersection = thisRangeList.intersect(myRangeList, true); if (intersection == null || intersection.isEmpty()) { return; } if (intersection.getSize() != 1) { SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.UNKNOWN, "assertion failure in SVNMergeDriver.LogHandlerFilter.handleLogEntry: intersection list " + "size is {0}", new Integer(intersection.getSize())); SVNErrorManager.error(err, SVNLogType.DEFAULT); } if (myRealHandler != null) { myRealHandler.handleLogEntry(logEntry); } } }
SVNMergeRangeList rl = new SVNMergeRangeList(new SVNMergeRange(revision - 1, revision, true)); SVNMergeRangeList intersection = pathExclplicitRangeList.intersect(rl, mergeInfoInherited); if (intersection.getSize() == 0) { logEntryRevisionRequired = true;
SVNMergeRangeList rl = new SVNMergeRangeList(new SVNMergeRange(revision - 1, revision, true)); SVNMergeRangeList intersection = pathExclplicitRangeList.intersect(rl, mergeInfoInherited); if (intersection.getSize() == 0) { logEntryRevisionRequired = true;
if (child.absent || child.remainingRanges.getSize() == 0 || !SVNRevision.isValidRevisionNumber(nRange.getStartRevision())) { return;