org.apache.maven.scm.provider.svn

Class SvnTagBranchUtils

public class SvnTagBranchUtils extends Object

Field Summary
static String[]REVISION_SPECIFIERS
static String[]SVN_BASE_DIRS
static StringSVN_BRANCHES
static StringSVN_TAGS
static StringSVN_TRUNK
Method Summary
static StringgetProjectRoot(String repoPath)
Returns the project root for the given repository url, where "project root" is the root of the /trunk, /branches, /tags directories
static booleanisRevisionSpecifier(String tag)
Returns whether the supplied tag refers to an actual revision or is specifying a tag/branch url in the repository.
static StringresolveBranchUrl(SvnScmProviderRepository repository, String branch)
Resolves a branch name to a repository url.
static StringresolveBranchUrl(String repositoryUrl, String branch)
Resolves a branch name to a repository url.
static StringresolveTagUrl(SvnScmProviderRepository repository, String tag)
Resolves a tag to a repository url.
static StringresolveTagUrl(String repositoryUrl, String tag)
Resolves a tag to a repository url.
static StringresolveUrl(String repositoryUrl, String tagBase, String subdir, String branchTagName)
Resolves a tag or branch name to a repository url.
If the branchTagName is an absolute URL, that value is returned. (i.e. http://foo.com/svn/myproject/tags/my-tag)

If the repository has a getTagBase specified, the tag is simply appended to the tagBase value.

Field Detail

REVISION_SPECIFIERS

public static final String[] REVISION_SPECIFIERS

SVN_BASE_DIRS

public static final String[] SVN_BASE_DIRS

SVN_BRANCHES

public static final String SVN_BRANCHES

SVN_TAGS

public static final String SVN_TAGS

SVN_TRUNK

public static final String SVN_TRUNK

Method Detail

getProjectRoot

public static String getProjectRoot(String repoPath)
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:

isRevisionSpecifier

public static boolean isRevisionSpecifier(String tag)
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

resolveBranchUrl

public static String resolveBranchUrl(SvnScmProviderRepository repository, String branch)
Resolves a branch name to a repository url. By supplying the repository to this function (rather than calling SvnTagBranchUtils 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 resolution branch tag name

Returns:

See Also: SvnTagBranchUtils

resolveBranchUrl

public static String resolveBranchUrl(String repositoryUrl, String branch)
Resolves a branch name to a repository url. Will not use the getTagBase during resolution.

Parameters: repositoryUrl string url for the repository branch branch name

Returns:

See Also: SvnTagBranchUtils

resolveTagUrl

public static String resolveTagUrl(SvnScmProviderRepository repository, String tag)
Resolves a tag to a repository url. By supplying the repository to this function (rather than calling SvnTagBranchUtils 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 resolution tag tag name

Returns:

See Also: SvnTagBranchUtils

resolveTagUrl

public static String resolveTagUrl(String repositoryUrl, String tag)
Resolves a tag to a repository url. Will not use the getTagBase during resolution.

Parameters: repositoryUrl string url for the repository tag tag name

Returns:

See Also: SvnTagBranchUtils

resolveUrl

public static String resolveUrl(String repositoryUrl, String tagBase, String subdir, String branchTagName)
Resolves a tag or branch name to a repository url.
If the branchTagName is an absolute URL, that value is returned. (i.e. http://foo.com/svn/myproject/tags/my-tag)

If the repository has a 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"), the branchTagName is appended to the projectRoot without adding the subdir.
Else, the result is in the format of projectRoot/subdir/branchTagName directory.

Parameters: projectRoot Project root to use when building the url. subdir Subdirectory to append to the project root (for branching use "branches", tags use "tags") branchTagName 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:

Copyright © 2003-2009 Apache Software Foundation. All Rights Reserved.