public class RefSpec
extends java.lang.Object
implements java.io.Serializable
A ref specification provides matching support and limited rules to rewrite a reference in one repository to another reference in another repository.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
WILDCARD_SUFFIX
Suffix for wildcard ref spec component, that indicate matching all refs
with specified prefix.
|
Constructor and Description |
---|
RefSpec()
Construct an empty RefSpec.
|
RefSpec(java.lang.String spec)
Parse a ref specification for use during transport operations.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object obj) |
RefSpec |
expandFromDestination(Ref r)
Expand this specification to exactly match a ref.
|
RefSpec |
expandFromDestination(java.lang.String r)
Expand this specification to exactly match a ref name.
|
RefSpec |
expandFromSource(Ref r)
Expand this specification to exactly match a ref.
|
RefSpec |
expandFromSource(java.lang.String r)
Expand this specification to exactly match a ref name.
|
java.lang.String |
getDestination()
Get the destination ref description.
|
java.lang.String |
getSource()
Get the source ref description.
|
int |
hashCode() |
boolean |
isForceUpdate()
Check if this specification wants to forcefully update the destination.
|
boolean |
isWildcard()
Check if this specification is actually a wildcard pattern.
|
static boolean |
isWildcard(java.lang.String s)
Check whether provided string is a wildcard ref spec component.
|
boolean |
matchDestination(Ref r)
Does this specification's destination description match the ref?
|
boolean |
matchDestination(java.lang.String r)
Does this specification's destination description match the ref name?
|
boolean |
matchSource(Ref r)
Does this specification's source description match the ref?
|
boolean |
matchSource(java.lang.String r)
Does this specification's source description match the ref name?
|
RefSpec |
setDestination(java.lang.String destination)
Create a new RefSpec with a different destination name setting.
|
RefSpec |
setForceUpdate(boolean forceUpdate)
Create a new RefSpec with a different force update setting.
|
RefSpec |
setSource(java.lang.String source)
Create a new RefSpec with a different source name setting.
|
RefSpec |
setSourceDestination(java.lang.String source,
java.lang.String destination)
Create a new RefSpec with a different source/destination name setting.
|
java.lang.String |
toString() |
public static final java.lang.String WILDCARD_SUFFIX
public RefSpec()
A newly created empty RefSpec is not suitable for use in most applications, as at least one field must be set to match a source name.
public RefSpec(java.lang.String spec)
Specifications are typically one of the following forms:
refs/head/master
refs/head/master:refs/remotes/origin/master
refs/head/*:refs/remotes/origin/*
+refs/head/master
+refs/head/master:refs/remotes/origin/master
+refs/head/*:refs/remotes/origin/*
:refs/head/master
spec
- string describing the specification.java.lang.IllegalArgumentException
- the specification is invalid.public static boolean isWildcard(java.lang.String s)
s
- ref spec component - string to test. Can be null.public boolean isForceUpdate()
public RefSpec setForceUpdate(boolean forceUpdate)
forceUpdate
- new value for force update in the returned instance.public boolean isWildcard()
If this is a wildcard pattern then the source and destination names
returned by getSource()
and getDestination()
will not
be actual ref names, but instead will be patterns.
public java.lang.String getSource()
During a fetch this is the name of the ref on the remote repository we are fetching from. During a push this is the name of the ref on the local repository we are pushing out from.
public RefSpec setSource(java.lang.String source)
source
- new value for source in the returned instance.java.lang.IllegalStateException
- There is already a destination configured, and the wildcard
status of the existing destination disagrees with the
wildcard status of the new source.public java.lang.String getDestination()
During a fetch this is the local tracking branch that will be updated with the new ObjectId after fetching is complete. During a push this is the remote ref that will be updated by the remote's receive-pack process.
If null during a fetch no tracking branch should be updated and the ObjectId should be stored transiently in order to prepare a merge.
If null during a push, use getSource()
instead.
public RefSpec setDestination(java.lang.String destination)
destination
- new value for destination in the returned instance.java.lang.IllegalStateException
- There is already a source configured, and the wildcard status
of the existing source disagrees with the wildcard status of
the new destination.public RefSpec setSourceDestination(java.lang.String source, java.lang.String destination)
source
- new value for source in the returned instance.destination
- new value for destination in the returned instance.java.lang.IllegalArgumentException
- The wildcard status of the new source disagrees with the
wildcard status of the new destination.public boolean matchSource(java.lang.String r)
r
- ref name that should be tested.public boolean matchSource(Ref r)
r
- ref whose name should be tested.public boolean matchDestination(java.lang.String r)
r
- ref name that should be tested.public boolean matchDestination(Ref r)
r
- ref whose name should be tested.public RefSpec expandFromSource(java.lang.String r)
Callers must first verify the passed ref name matches this specification, otherwise expansion results may be unpredictable.
r
- a ref name that matched our source specification. Could be a
wildcard also.public RefSpec expandFromSource(Ref r)
Callers must first verify the passed ref matches this specification, otherwise expansion results may be unpredictable.
r
- a ref that matched our source specification. Could be a
wildcard also.public RefSpec expandFromDestination(java.lang.String r)
Callers must first verify the passed ref name matches this specification, otherwise expansion results may be unpredictable.
r
- a ref name that matched our destination specification. Could
be a wildcard also.public RefSpec expandFromDestination(Ref r)
Callers must first verify the passed ref matches this specification, otherwise expansion results may be unpredictable.
r
- a ref that matched our destination specification.public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
Copyright © 2012. All Rights Reserved.