Class SvnTagBranchUtils
java.lang.Object
org.apache.maven.scm.provider.svn.SvnTagBranchUtils
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic String
getProjectRoot
(String repoPath) Returns the project root for the given repository url, where "project root" is the root of the /trunk, /branches, /tags directoriesstatic boolean
isRevisionSpecifier
(ScmVersion version) Returns whether the supplied tag refers to an actual revision or is specifying a tag/branch url in the repository.static String
resolveBranchBase
(String repositoryUrl) static String
resolveBranchBase
(SvnScmProviderRepository repository) static String
resolveBranchUrl
(String repositoryUrl, ScmBranch branch) Resolves a branch name to a repository url.static String
resolveBranchUrl
(SvnScmProviderRepository repository, ScmBranch branch) Resolves a branch name to a repository url.static String
resolveTagBase
(String repositoryUrl) static String
resolveTagBase
(SvnScmProviderRepository repository) static String
resolveTagUrl
(String repositoryUrl, ScmTag tag) Resolves a tag to a repository url.static String
resolveTagUrl
(SvnScmProviderRepository repository, ScmTag tag) Resolves a tag to a repository url.static String
resolveUrl
(String repositoryUrl, String tagBase, String subdir, ScmBranch branchTag) Resolves a tag or branch name to a repository url.
If thebranchTagName
is an absolute URL, that value is returned.
-
Field Details
-
REVISION_SPECIFIERS
-
SVN_TRUNK
- See Also:
-
SVN_BRANCHES
- See Also:
-
SVN_TAGS
- See Also:
-
SVN_BASE_DIRS
-
-
Method Details
-
getProjectRoot
Returns the project root for the given repository url, where "project root" is the root of the /trunk, /branches, /tags directories- Parameters:
repoPath
- Repository path/url to be searched- Returns:
- TODO
-
resolveTagBase
-
resolveTagBase
-
resolveBranchBase
-
resolveBranchBase
-
resolveTagUrl
Resolves a tag to a repository url. By supplying the repository to this function (rather than callingresolveTagUrl(String,ScmTag)
the resolution can use the repository's tagBase to override the default tag location.- Parameters:
repository
- the repository to use as a base for tag resolutiontag
- tag name- Returns:
- TODO
- See Also:
-
resolveTagUrl
Resolves a tag to a repository url. Will not use theSvnScmProviderRepository.getTagBase()
during resolution.- Parameters:
repositoryUrl
- string url for the repositorytag
- tag name- Returns:
- TODO
- See Also:
-
resolveBranchUrl
Resolves a branch name to a repository url. By supplying the repository to this function (rather than callingresolveBranchUrl(String,ScmBranch)
the resolution can use the repository's tagBase to override the default tag location.- Parameters:
repository
- the repository to use as a base for tag resolutionbranch
- tag name- Returns:
- TODO
- See Also:
-
resolveBranchUrl
Resolves a branch name to a repository url. Will not use theSvnScmProviderRepository.getTagBase()
during resolution.- Parameters:
repositoryUrl
- string url for the repositorybranch
- branch name- Returns:
- TODO
- See Also:
-
resolveUrl
public static String resolveUrl(String repositoryUrl, String tagBase, String subdir, ScmBranch branchTag) Resolves a tag or branch name to a repository url.
If thebranchTagName
is an absolute URL, that value is returned. (i.e. http://foo.com/svn/myproject/tags/my-tag)
If the repository has a
SvnScmProviderRepository.getTagBase()
specified, the tag is simply appended to the tagBase value. Note that at this time, we are using the tagBase as a base for both branches and tags.
If the
branchTagName
contains a branch/tag specifier (i.e. "/branches", "/tags", "/trunk"), thebranchTagName
is appended to theprojectRoot
without adding the subdir.
Else, the result is in the format ofprojectRoot/subdir/branchTagName
directory.- Parameters:
repositoryUrl
- string url for the repositorytagBase
- tagBase to use.subdir
- Subdirectory to append to the project root (for branching use "branches", tags use "tags")branchTag
- Name of the actual branch or tag. Can be an absolute url, simple tag/branch name, or even contain a relative path to the root like "branches/my-branch"- Returns:
- TODO
-
isRevisionSpecifier
Returns whether the supplied tag refers to an actual revision or is specifying a tag/branch url in the repository. According to the subversion documentation, the following are valid revision specifiers: NUMBER revision number "{" DATE "}" revision at start of the date "HEAD" latest in repository "BASE" base rev of item's working copy "COMMITTED" last commit at or before BASE "PREV"For command such as diff, the revision argument can be in the format of: IDENTIFIER:IDENTIFIER where IDENTIFIER is one of the args listed above
-