Class SvnTagBranchUtils


  • public final class SvnTagBranchUtils
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private SvnTagBranchUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      private static java.lang.String addSuffix​(java.lang.String baseString, java.lang.String suffix)  
      (package private) static java.lang.String appendPath​(java.lang.String basePath, java.lang.String addlPath)
      Simple helper function to concatenate two paths together with a "/".
      private static boolean checkRevisionArg​(java.lang.String arg)  
      static java.lang.String getProjectRoot​(java.lang.String repoPath)
      Returns the project root for the given repository url, where "project root" is the root of the /trunk, /branches, /tags directories
      static 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 java.lang.String resolveBranchBase​(java.lang.String repositoryUrl)  
      static java.lang.String resolveBranchBase​(SvnScmProviderRepository repository)  
      static java.lang.String resolveBranchUrl​(java.lang.String repositoryUrl, ScmBranch branch)
      Resolves a branch name to a repository url.
      static java.lang.String resolveBranchUrl​(SvnScmProviderRepository repository, ScmBranch branch)
      Resolves a branch name to a repository url.
      static java.lang.String resolveTagBase​(java.lang.String repositoryUrl)  
      static java.lang.String resolveTagBase​(SvnScmProviderRepository repository)  
      static java.lang.String resolveTagUrl​(java.lang.String repositoryUrl, ScmTag tag)
      Resolves a tag to a repository url.
      static java.lang.String resolveTagUrl​(SvnScmProviderRepository repository, ScmTag tag)
      Resolves a tag to a repository url.
      static java.lang.String resolveUrl​(java.lang.String repositoryUrl, java.lang.String tagBase, java.lang.String subdir, ScmBranch branchTag)
      Resolves a tag or branch name to a repository url.
      If the branchTagName is an absolute URL, that value is returned.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • REVISION_SPECIFIERS

        public static final java.lang.String[] REVISION_SPECIFIERS
      • SVN_BASE_DIRS

        public static final java.lang.String[] SVN_BASE_DIRS
    • Constructor Detail

      • SvnTagBranchUtils

        private SvnTagBranchUtils()
    • Method Detail

      • appendPath

        static java.lang.String appendPath​(java.lang.String basePath,
                                           java.lang.String addlPath)
        Simple helper function to concatenate two paths together with a "/". Handles trailing / on basePath. Returns no trailing "/" if the addlPath is null
      • getProjectRoot

        public static java.lang.String getProjectRoot​(java.lang.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:
        TODO
      • resolveTagBase

        public static java.lang.String resolveTagBase​(java.lang.String repositoryUrl)
      • resolveBranchBase

        public static java.lang.String resolveBranchBase​(java.lang.String repositoryUrl)
      • addSuffix

        private static java.lang.String addSuffix​(java.lang.String baseString,
                                                  java.lang.String suffix)
      • resolveUrl

        public static java.lang.String resolveUrl​(java.lang.String repositoryUrl,
                                                  java.lang.String tagBase,
                                                  java.lang.String subdir,
                                                  ScmBranch branchTag)
        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 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"), the branchTagName is appended to the projectRoot without adding the subdir.
        Else, the result is in the format of projectRoot/subdir/branchTagName directory.

        Parameters:
        repositoryUrl - string url for the repository
        tagBase - 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
      • checkRevisionArg

        private static boolean checkRevisionArg​(java.lang.String arg)
      • isRevisionSpecifier

        public static boolean isRevisionSpecifier​(ScmVersion version)
        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