Examples of SVNLocationSegment


Examples of org.tmatesoft.svn.core.io.SVNLocationSegment

                }
            }
           
            if (SVNRevision.isValidRevisionNumber(rangeStart) && SVNRevision.isValidRevisionNumber(rangeEnd)) {
                if (myLocationSegmentHandler != null) {
                    myLocationSegmentHandler.handleLocationSegment(new SVNLocationSegment(rangeStart, rangeEnd,
                            path));
                    myCount += rangeEnd - rangeStart + 1;
                }
            } else {
                SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.RA_DAV_MALFORMED_DATA,
View Full Code Here

Examples of org.tmatesoft.svn.core.io.SVNLocationSegment

            }
            if (segmentEndRevision > startRevision) {
                segmentEndRevision = startRevision;
            }
            if (handler != null) {
                handler.handleLocationSegment(new SVNLocationSegment(segmentStartRevision, segmentEndRevision,
                        segmentPath));
            }
            return segmentEndRevision - segmentStartRevision + 1;
        }
        return 0;
View Full Code Here

Examples of org.tmatesoft.svn.core.io.SVNLocationSegment

                    }
                    if (rangePath != null) {
                        rangePath = ensureAbsolutePath(rangePath);   
                    }
                    if (handler != null) {
                        handler.handleLocationSegment(new SVNLocationSegment(rangeStartRevision, rangeEndRevision, rangePath));
                    }
                    count += rangeEndRevision - rangeStartRevision + 1;
                }
            }
            read("", null, false);
View Full Code Here

Examples of org.tmatesoft.svn.core.io.SVNLocationSegment

      LinkedList segments = (LinkedList) repository.getLocationSegments("", pegRevNum, youngestRequestedRev,
          oldestRequestedRev);

    long trimRevision =  SVNRepository.INVALID_REVISION;
    if (!segments.isEmpty()) {
        SVNLocationSegment segment = (SVNLocationSegment) segments.get(0);
        if (segment.getStartRevision() != oldestRequestedRev) {
            trimRevision = segment.getStartRevision();
        } else if (segment.getPath() == null) {
            if (segments.size() > 1) {
                SVNLocationSegment segment2 = (SVNLocationSegment) segments.get(1);
                SVNURL segmentURL = sourceRootURL.appendPath(segment2.getPath(), false);
                SVNLocationEntry copyFromLocation = getCopySource(null, segmentURL,
                        SVNRevision.create(segment2.getStartRevision()));
                String copyFromPath = copyFromLocation.getPath();
                long copyFromRevision = copyFromLocation.getRevision();
                if (copyFromPath != null && SVNRevision.isValidRevisionNumber(copyFromRevision)) {
                    SVNLocationSegment newSegment = new SVNLocationSegment(copyFromRevision,
                            copyFromRevision, copyFromPath);
                    segment.setStartRevision(copyFromRevision + 1);
                    segments.addFirst(newSegment);
                }
            }
View Full Code Here

Examples of org.tmatesoft.svn.core.io.SVNLocationSegment

      long minRev = Math.min(range.getStartRevision(), range.getEndRevision()) + 1;
      long maxRev = Math.max(range.getStartRevision(), range.getEndRevision());
      boolean subtractive = range.getStartRevision() > range.getEndRevision();
      List mergeSources = new LinkedList();
      for (int i = 0; i < segments.length; i++) {
      SVNLocationSegment segment = segments[i];
      if (segment.getEndRevision() < minRev || segment.getStartRevision() > maxRev ||
          segment.getPath() == null) {
        continue;
      }
     
      String path1 = null;
      long rev1 = Math.max(segment.getStartRevision(), minRev) - 1;
      if (minRev <= segment.getStartRevision()) {
        if (i > 0) {
          path1 = segments[i - 1].getPath();
        }
        if (path1 == null && i > 1) {
          path1 = segments[i - 2].getPath();
          rev1 = segments[i - 2].getEndRevision();
        }
      } else {
        path1 = segment.getPath();
      }
     
      if (path1 == null || segment.getPath() == null) {
        continue;
      }
     
      MergeSource mergeSource = new MergeSource();
      mergeSource.myURL1 = sourceRootURL.appendPath(path1, false);
      mergeSource.myURL2 = sourceRootURL.appendPath(segment.getPath(), false);
      mergeSource.myRevision1 = rev1;
      mergeSource.myRevision2 = Math.min(segment.getEndRevision(), maxRev);
      if (subtractive) {
        long tmpRev = mergeSource.myRevision1;
        SVNURL tmpURL = mergeSource.myURL1;
        mergeSource.myRevision1 = mergeSource.myRevision2;
        mergeSource.myURL1 = mergeSource.myURL2;
View Full Code Here

Examples of org.tmatesoft.svn.core.io.SVNLocationSegment

    }

    private Map getMergeInfoFromSegments(Collection segments) {
        Map mergeInfo = new TreeMap();
        for (Iterator segmentsIter = segments.iterator(); segmentsIter.hasNext();) {
            SVNLocationSegment segment = (SVNLocationSegment) segmentsIter.next();
            if (segment.getPath() == null) {
                continue;
            }
            String sourcePath = segment.getPath();
            Collection pathRanges = (Collection) mergeInfo.get(sourcePath);
            if (pathRanges == null) {
                pathRanges = new LinkedList();
                mergeInfo.put(sourcePath, pathRanges);
            }
            SVNMergeRange range = new SVNMergeRange(Math.max(segment.getStartRevision() - 1, 0),
                    segment.getEndRevision(), true);
            pathRanges.add(range);
        }
        for (Iterator mergeInfoIter = mergeInfo.entrySet().iterator(); mergeInfoIter.hasNext();) {
            Map.Entry mergeInfoEntry = (Map.Entry) mergeInfoIter.next();
            Collection pathRanges = (Collection) mergeInfoEntry.getValue();
View Full Code Here

Examples of org.tmatesoft.svn.core.io.SVNLocationSegment

                throw e;           
            }
        }
       
        if (locationSegments != null && !locationSegments.isEmpty()) {
            SVNLocationSegment segment = (SVNLocationSegment) locationSegments.get(locationSegments.size() - 1);
            if (segment.getStartRevision() == olderRev) {
                return;
            }
            if (isRollback) {
                child.myRemainingRanges = child.myRemainingRanges.reverse();
                parent.myRemainingRanges = parent.myRemainingRanges.reverse();
            }
           
            SVNMergeRangeList existingRangeList = new SVNMergeRangeList(new SVNMergeRange(segment.getStartRevision(), pegRev, true));
            child.myRemainingRanges = child.myRemainingRanges.intersect(existingRangeList, false);
            SVNMergeRangeList nonExistentRangeList = new SVNMergeRangeList(new SVNMergeRange(olderRev, segment.getStartRevision(), true));
            nonExistentRangeList = parent.myRemainingRanges.intersect(nonExistentRangeList, false);
            child.myRemainingRanges = child.myRemainingRanges.merge(nonExistentRangeList);

            if (isRollback) {
                child.myRemainingRanges = child.myRemainingRanges.reverse();
View Full Code Here

Examples of org.tmatesoft.svn.core.io.SVNLocationSegment

      LinkedList segments = (LinkedList) repository.getLocationSegments("", pegRevNum, youngestRequestedRev,
          oldestRequestedRev);

    long trimRevision =  SVNRepository.INVALID_REVISION;
    if (!segments.isEmpty()) {
        SVNLocationSegment segment = (SVNLocationSegment) segments.get(0);
        if (segment.getStartRevision() != oldestRequestedRev) {
            trimRevision = segment.getStartRevision();
        } else if (segment.getPath() == null) {
            if (segments.size() > 1) {
                SVNLocationSegment segment2 = (SVNLocationSegment) segments.get(1);
                SVNURL segmentURL = sourceRootURL.appendPath(segment2.getPath(), false);
                SVNLocationEntry copyFromLocation = getCopySource(null, segmentURL,
                        SVNRevision.create(segment2.getStartRevision()));
                String copyFromPath = copyFromLocation.getPath();
                long copyFromRevision = copyFromLocation.getRevision();
                if (copyFromPath != null && SVNRevision.isValidRevisionNumber(copyFromRevision)) {
                    SVNLocationSegment newSegment = new SVNLocationSegment(copyFromRevision,
                            copyFromRevision, copyFromPath);
                    segment.setStartRevision(copyFromRevision + 1);
                    segments.addFirst(newSegment);
                }
            }
View Full Code Here

Examples of org.tmatesoft.svn.core.io.SVNLocationSegment

      long minRev = Math.min(range.getStartRevision(), range.getEndRevision()) + 1;
      long maxRev = Math.max(range.getStartRevision(), range.getEndRevision());
      boolean subtractive = range.getStartRevision() > range.getEndRevision();
      List mergeSources = new LinkedList();
      for (int i = 0; i < segments.length; i++) {
      SVNLocationSegment segment = segments[i];
      if (segment.getEndRevision() < minRev || segment.getStartRevision() > maxRev ||
          segment.getPath() == null) {
        continue;
      }
     
      String path1 = null;
      long rev1 = Math.max(segment.getStartRevision(), minRev) - 1;
      if (minRev <= segment.getStartRevision()) {
        if (i > 0) {
          path1 = segments[i - 1].getPath();
        }
        if (path1 == null && i > 1) {
          path1 = segments[i - 2].getPath();
          rev1 = segments[i - 2].getEndRevision();
        }
      } else {
        path1 = segment.getPath();
      }
     
      if (path1 == null || segment.getPath() == null) {
        continue;
      }
     
      MergeSource mergeSource = new MergeSource();
      mergeSource.myURL1 = sourceRootURL.appendPath(path1, false);
      mergeSource.myURL2 = sourceRootURL.appendPath(segment.getPath(), false);
      mergeSource.myRevision1 = rev1;
      mergeSource.myRevision2 = Math.min(segment.getEndRevision(), maxRev);
      if (subtractive) {
        long tmpRev = mergeSource.myRevision1;
        SVNURL tmpURL = mergeSource.myURL1;
        mergeSource.myRevision1 = mergeSource.myRevision2;
        mergeSource.myURL1 = mergeSource.myURL2;
View Full Code Here

Examples of org.tmatesoft.svn.core.io.SVNLocationSegment

    }

    private Map getMergeInfoFromSegments(Collection segments) {
        Map mergeInfo = new TreeMap();
        for (Iterator segmentsIter = segments.iterator(); segmentsIter.hasNext();) {
            SVNLocationSegment segment = (SVNLocationSegment) segmentsIter.next();
            if (segment.getPath() == null) {
                continue;
            }
            String sourcePath = segment.getPath();
            Collection pathRanges = (Collection) mergeInfo.get(sourcePath);
            if (pathRanges == null) {
                pathRanges = new LinkedList();
                mergeInfo.put(sourcePath, pathRanges);
            }
            SVNMergeRange range = new SVNMergeRange(Math.max(segment.getStartRevision() - 1, 0),
                    segment.getEndRevision(), true);
            pathRanges.add(range);
        }
        Map result = new TreeMap();
        for (Iterator paths = mergeInfo.keySet().iterator(); paths.hasNext();) {
            String path = (String) paths.next();
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.