Class GitScmProviderRepository
- java.lang.Object
-
- org.apache.maven.scm.provider.ScmProviderRepository
-
- org.apache.maven.scm.provider.ScmProviderRepositoryWithHost
-
- org.apache.maven.scm.provider.git.repository.GitScmProviderRepository
-
public class GitScmProviderRepository extends ScmProviderRepositoryWithHost
-
-
Field Summary
Fields Modifier and Type Field Description private RepositoryUrl
fetchInfo
the URL used to fetch from the upstream repositoryprivate static java.util.regex.Pattern
HOST_AND_PORT_EXTRACTOR
static java.lang.String
PROTOCOL_FILE
use local file as transportstatic java.lang.String
PROTOCOL_GIT
use gits internal protocolstatic java.lang.String
PROTOCOL_HTTP
use the standard port 80 http protocolstatic java.lang.String
PROTOCOL_HTTPS
use the standard port 443 https protocolstatic java.lang.String
PROTOCOL_NONE
No special protocol specified.static java.lang.String
PROTOCOL_RSYNC
use rsync for retrieving the data TODO implement!static java.lang.String
PROTOCOL_SEPARATOR
this trails every protocolstatic java.lang.String
PROTOCOL_SSH
use secure shell protocolprivate java.lang.String
provider
this may either 'git' or 'jgit' depending on the underlying implementation being usedprivate RepositoryUrl
pushInfo
the URL used to push to the upstream repositorystatic java.lang.String
URL_DELIMITER_FETCH
sequence used to delimit the fetch URLstatic java.lang.String
URL_DELIMITER_PUSH
sequence used to delimit the push URL
-
Constructor Summary
Constructors Constructor Description GitScmProviderRepository(java.lang.String url)
GitScmProviderRepository(java.lang.String url, java.lang.String user, java.lang.String password)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RepositoryUrl
getFetchInfo()
java.lang.String
getFetchUrl()
java.lang.String
getProvider()
RepositoryUrl
getPushInfo()
java.lang.String
getPushUrl()
java.lang.String
getRelativePath(ScmProviderRepository ancestor)
Get the relative path between the repository provided as argument and the current repository.private java.lang.String
getUrl(RepositoryUrl repoUrl)
private java.lang.String
parseHostAndPort(RepositoryUrl repoUrl, java.lang.String url)
Parse server and port from the given url and fill it into the given RepositoryUrl.private java.lang.String
parseProtocol(RepositoryUrl repoUrl, java.lang.String url)
Parse the protocol from the given url and fill it into the given RepositoryUrl.private RepositoryUrl
parseUrl(java.lang.String url)
Parse the given url string and store all the extracted information in aRepositoryUrl
private java.lang.String
parseUserInfo(RepositoryUrl repoUrl, java.lang.String url)
Parse the user information from the given url and fill user name and password into the given RepositoryUrl.java.lang.String
toString()
-
Methods inherited from class org.apache.maven.scm.provider.ScmProviderRepositoryWithHost
getHost, getPassphrase, getPort, getPrivateKey, setHost, setPassphrase, setPort, setPrivateKey
-
Methods inherited from class org.apache.maven.scm.provider.ScmProviderRepository
getParent, getPassword, getUser, getWorkItem, isPersistCheckout, isPushChanges, setPassword, setPersistCheckout, setPushChanges, setUser, setWorkItem
-
-
-
-
Field Detail
-
URL_DELIMITER_FETCH
public static final java.lang.String URL_DELIMITER_FETCH
sequence used to delimit the fetch URL- See Also:
- Constant Field Values
-
URL_DELIMITER_PUSH
public static final java.lang.String URL_DELIMITER_PUSH
sequence used to delimit the push URL- See Also:
- Constant Field Values
-
PROTOCOL_SEPARATOR
public static final java.lang.String PROTOCOL_SEPARATOR
this trails every protocol- See Also:
- Constant Field Values
-
PROTOCOL_FILE
public static final java.lang.String PROTOCOL_FILE
use local file as transport- See Also:
- Constant Field Values
-
PROTOCOL_GIT
public static final java.lang.String PROTOCOL_GIT
use gits internal protocol- See Also:
- Constant Field Values
-
PROTOCOL_SSH
public static final java.lang.String PROTOCOL_SSH
use secure shell protocol- See Also:
- Constant Field Values
-
PROTOCOL_HTTP
public static final java.lang.String PROTOCOL_HTTP
use the standard port 80 http protocol- See Also:
- Constant Field Values
-
PROTOCOL_HTTPS
public static final java.lang.String PROTOCOL_HTTPS
use the standard port 443 https protocol- See Also:
- Constant Field Values
-
PROTOCOL_RSYNC
public static final java.lang.String PROTOCOL_RSYNC
use rsync for retrieving the data TODO implement!- See Also:
- Constant Field Values
-
HOST_AND_PORT_EXTRACTOR
private static final java.util.regex.Pattern HOST_AND_PORT_EXTRACTOR
-
PROTOCOL_NONE
public static final java.lang.String PROTOCOL_NONE
No special protocol specified. Git will either use git:// or ssh:// depending on whether we work locally or over the network- See Also:
- Constant Field Values
-
provider
private java.lang.String provider
this may either 'git' or 'jgit' depending on the underlying implementation being used
-
fetchInfo
private RepositoryUrl fetchInfo
the URL used to fetch from the upstream repository
-
pushInfo
private RepositoryUrl pushInfo
the URL used to push to the upstream repository
-
-
Constructor Detail
-
GitScmProviderRepository
public GitScmProviderRepository(java.lang.String url) throws ScmException
- Throws:
ScmException
-
GitScmProviderRepository
public GitScmProviderRepository(java.lang.String url, java.lang.String user, java.lang.String password) throws ScmException
- Throws:
ScmException
-
-
Method Detail
-
getProvider
public java.lang.String getProvider()
- Returns:
- either 'git' or 'jgit' depending on the underlying implementation being used
-
getFetchInfo
public RepositoryUrl getFetchInfo()
-
getPushInfo
public RepositoryUrl getPushInfo()
-
getFetchUrl
public java.lang.String getFetchUrl()
- Returns:
- the URL used to fetch from the upstream repository
-
getPushUrl
public java.lang.String getPushUrl()
- Returns:
- the URL used to push to the upstream repository
-
parseUrl
private RepositoryUrl parseUrl(java.lang.String url) throws ScmException
Parse the given url string and store all the extracted information in aRepositoryUrl
- Parameters:
url
- to parse- Returns:
- filled with the information from the given URL
- Throws:
ScmException
-
getUrl
private java.lang.String getUrl(RepositoryUrl repoUrl)
- Parameters:
repoUrl
-- Returns:
- TODO
-
parseProtocol
private java.lang.String parseProtocol(RepositoryUrl repoUrl, java.lang.String url) throws ScmException
Parse the protocol from the given url and fill it into the given RepositoryUrl.- Parameters:
repoUrl
-url
-- Returns:
- the given url with the protocol parts removed
- Throws:
ScmException
-
parseUserInfo
private java.lang.String parseUserInfo(RepositoryUrl repoUrl, java.lang.String url) throws ScmException
Parse the user information from the given url and fill user name and password into the given RepositoryUrl.- Parameters:
repoUrl
-url
-- Returns:
- the given url with the user parts removed
- Throws:
ScmException
-
parseHostAndPort
private java.lang.String parseHostAndPort(RepositoryUrl repoUrl, java.lang.String url) throws ScmException
Parse server and port from the given url and fill it into the given RepositoryUrl.- Parameters:
repoUrl
-url
-- Returns:
- the given url with the server parts removed
- Throws:
ScmException
-
getRelativePath
public java.lang.String getRelativePath(ScmProviderRepository ancestor)
Get the relative path between the repository provided as argument and the current repository.- Overrides:
getRelativePath
in classScmProviderRepository
- Parameters:
ancestor
- another repository that should be ancestor of this one- Returns:
- the relative path or
null
if it can't be resolved
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-