Class Mergeinfo

java.lang.Object
org.tigris.subversion.javahl.Mergeinfo
All Implemented Interfaces:
Serializable

public class Mergeinfo extends Object implements Serializable
Merge history for a path.
Since:
1.5
See Also:
  • Field Details

  • Constructor Details

    • Mergeinfo

      public Mergeinfo()
    • Mergeinfo

      public Mergeinfo(String mergeinfo)
      Create and populate an instance using the contents of the svn:mergeinfo property.
      Parameters:
      mergeinfo - svn:mergeinfo property value.
    • Mergeinfo

      public Mergeinfo(Mergeinfo aMergeinfo)
      A constructor for backward compat.
  • Method Details

    • addRevisions

      public void addRevisions(String mergeSrc, RevisionRange[] ranges)
      Add one or more RevisionRange objects to merge info. If the merge source is already stored, the list of revisions is replaced.
      Parameters:
      mergeSrc - The merge source URL.
      ranges - RevisionRange objects to add.
      Throws:
      SubversionException - If range list contains objects of type other than RevisionRange.
    • addRevisionRange

      public void addRevisionRange(String mergeSrc, RevisionRange range)
      Add a revision range to the merged revisions for a path. If the merge source already has associated revision ranges, add the revision range to the existing list.
      Parameters:
      mergeSrc - The merge source URL.
      range - The revision range to add.
    • getPaths

      public String[] getPaths()
      Get the merge source URLs.
      Returns:
      The merge source URLs.
    • getRevisions

      public List<RevisionRange> getRevisions(String mergeSrc)
      Get the revision ranges for the specified merge source URL.
      Parameters:
      mergeSrc - The merge source URL, or null.
      Returns:
      List of RevisionRange objects, or null.
    • getRevisionRange

      public RevisionRange[] getRevisionRange(String mergeSrc)
      Get the RevisionRange objects for the specified merge source URL
      Parameters:
      mergeSrc - The merge source URL, or null.
      Returns:
      Array of RevisionRange objects, or null.
    • loadFromMergeinfoProperty

      public void loadFromMergeinfoProperty(String mergeinfo)
      Parse the svn:mergeinfo property to populate the merge source URLs and revision ranges of this instance.
      Parameters:
      mergeinfo - svn:mergeinfo property value.
    • parseMergeinfoLine

      private void parseMergeinfoLine(String line)
      Parse a merge source line from a svn:mergeinfo property value (e.g. "/trunk:1-100,104,108,110-115").
      Parameters:
      line - A line of merge info for a single merge source.
    • parseRevisions

      private void parseRevisions(String path, String revisions)
      Parse the revisions in a merge info line into RevisionRange objects and adds each of them to the internal Map (e.g. "1-100,104,108,110-115")
      Parameters:
      path - The merge source path.
      revisions - A textual representation of the revision ranges.
    • setRevisionList

      private void setRevisionList(String mergeSrc, List<RevisionRange> range)
      Add the List object to the map. This method is only used internally where we know that List contains a type-safe set of RevisionRange objects.
      Parameters:
      mergeSrc - The merge source URL.
      range - List of RevisionRange objects to add.