public class Mergeinfo
extends java.lang.Object
implements java.io.Serializable
Modifier and Type | Class and Description |
---|---|
static class |
Mergeinfo.LogKind
Constants to specify which collection of revisions to report in
getMergeinfoLog.
|
Modifier and Type | Field and 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 |
Constructor and Description |
---|
Mergeinfo() |
Mergeinfo(java.lang.String mergeinfo)
Create and populate an instance using the contents of the
svn:mergeinfo property. |
Modifier and Type | Method and 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 URL
|
java.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 the
svn: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 a
svn: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.
|
private static final long serialVersionUID
private java.util.Map<java.lang.String,java.util.List<RevisionRange>> mergeSources
public Mergeinfo()
public Mergeinfo(java.lang.String mergeinfo)
svn:mergeinfo
property.mergeinfo
- svn:mergeinfo
property value.public void addRevisions(java.lang.String mergeSrc, java.util.List<RevisionRange> ranges)
mergeSrc
- The merge source URL.ranges
- RevisionRange objects to add.SubversionException
- If range list contains objects of
type other than RevisionRange.public void addRevisionRange(java.lang.String mergeSrc, RevisionRange range)
mergeSrc
- The merge source URL.range
- The revision range to add.public java.util.Set<java.lang.String> getPaths()
public java.util.List<RevisionRange> getRevisions(java.lang.String mergeSrc)
mergeSrc
- The merge source URL, or null
.null
.public java.util.List<RevisionRange> getRevisionRange(java.lang.String mergeSrc)
mergeSrc
- The merge source URL, or null
.null
.public void loadFromMergeinfoProperty(java.lang.String mergeinfo)
svn:mergeinfo
property to populate the
merge source URLs and revision ranges of this instance.mergeinfo
- svn:mergeinfo
property value.private void parseMergeinfoLine(java.lang.String line)
svn:mergeinfo
property value (e.g.
"/trunk:1-100,104,108,110-115"
).line
- A line of merge info for a single merge source.private void parseRevisions(java.lang.String path, java.lang.String revisions)
"1-100,104,108,110-115"
)path
- The merge source path.revisions
- A textual representation of the revision ranges.private void setRevisionList(java.lang.String mergeSrc, java.util.List<RevisionRange> range)
mergeSrc
- The merge source URL.range
- List of RevisionRange objects to add.