Class Mergeinfo
- java.lang.Object
-
- org.apache.subversion.javahl.types.Mergeinfo
-
- All Implemented Interfaces:
java.io.Serializable
public class Mergeinfo extends java.lang.Object implements java.io.Serializable
Merge history for a path.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Mergeinfo.LogKind
Constants to specify which collection of revisions to report in getMergeinfoLog.
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,java.util.List<RevisionRange>>
mergeSources
A mapping of repository-relative paths to a list of revision ranges.private static long
serialVersionUID
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addRevisionRange(java.lang.String mergeSrc, RevisionRange range)
Add a revision range to the merged revisions for a path.void
addRevisions(java.lang.String mergeSrc, java.util.List<RevisionRange> ranges)
Add one or more RevisionRange objects to merge info.java.util.Set<java.lang.String>
getPaths()
Get the merge source URLs.java.util.List<RevisionRange>
getRevisionRange(java.lang.String mergeSrc)
Get the RevisionRange objects for the specified merge source URLjava.util.List<RevisionRange>
getRevisions(java.lang.String mergeSrc)
Get the revision ranges for the specified merge source URL.void
loadFromMergeinfoProperty(java.lang.String mergeinfo)
Parse thesvn:mergeinfo
property to populate the merge source URLs and revision ranges of this instance.private void
parseMergeinfoLine(java.lang.String line)
Parse a merge source line from asvn:mergeinfo
property value (e.g.private void
parseRevisions(java.lang.String path, java.lang.String revisions)
Parse the revisions in a merge info line into RevisionRange objects and adds each of them to the internal Map (e.g.private void
setRevisionList(java.lang.String mergeSrc, java.util.List<RevisionRange> range)
Add the List object to the map.
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
mergeSources
private java.util.Map<java.lang.String,java.util.List<RevisionRange>> mergeSources
A mapping of repository-relative paths to a list of revision ranges.
-
-
Method Detail
-
addRevisions
public void addRevisions(java.lang.String mergeSrc, java.util.List<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(java.lang.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 java.util.Set<java.lang.String> getPaths()
Get the merge source URLs.- Returns:
- The merge source URLs.
-
getRevisions
public java.util.List<RevisionRange> getRevisions(java.lang.String mergeSrc)
Get the revision ranges for the specified merge source URL.- Parameters:
mergeSrc
- The merge source URL, ornull
.- Returns:
- List of RevisionRange objects, or
null
.
-
getRevisionRange
public java.util.List<RevisionRange> getRevisionRange(java.lang.String mergeSrc)
Get the RevisionRange objects for the specified merge source URL- Parameters:
mergeSrc
- The merge source URL, ornull
.- Returns:
- Array of RevisionRange objects, or
null
.
-
loadFromMergeinfoProperty
public void loadFromMergeinfoProperty(java.lang.String mergeinfo)
Parse thesvn:mergeinfo
property to populate the merge source URLs and revision ranges of this instance.- Parameters:
mergeinfo
-svn:mergeinfo
property value.
-
parseMergeinfoLine
private void parseMergeinfoLine(java.lang.String line)
Parse a merge source line from asvn: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(java.lang.String path, java.lang.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(java.lang.String mergeSrc, java.util.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.
-
-