Interface ScmManager

    • Field Detail

      • ROLE

        static final java.lang.String ROLE
    • Method Detail

      • validateScmRepository

        java.util.List<java.lang.String> validateScmRepository​(java.lang.String scmUrl)
        Validate a SCM URL.
        Parameters:
        scmUrl - the SCM URL to validate
        Returns:
        List of String objects with the messages returned by the SCM provider
      • getProviderByType

        ScmProvider getProviderByType​(java.lang.String providerType)
                               throws NoSuchScmProviderException
        Returns the default provider registered for this providerType or a specific implementation if the 'maven.scm.provider.providerType.implementation' system property is defined. For example: maven.scm.provider.cvs.implementation=cvs_native
        Parameters:
        providerType - The provider type (cvs, svn...)
        Returns:
        The scm provider
        Throws:
        NoSuchScmProviderException - if the provider doesn't exist
      • setScmProvider

        void setScmProvider​(java.lang.String providerType,
                            ScmProvider provider)
        Set a provider to be used for a type of SCM. If there was already a designed provider for that type it will be replaced.
        Parameters:
        providerType - the type of SCM, eg. svn, cvs
        provider - the provider that will be used for that SCM type
      • setScmProviderImplementation

        void setScmProviderImplementation​(java.lang.String providerType,
                                          java.lang.String providerImplementation)
        Set the provider implementation
        Parameters:
        providerType - The provider type, eg. cvs
        providerImplementation - The provider implementation (the role-hint of the provider), eg. cvs, cvs_native
      • add

        AddScmResult add​(ScmRepository repository,
                         ScmFileSet fileSet,
                         java.lang.String message)
                  throws ScmException
        Adds the given files to the source control system
        Parameters:
        repository - the source control system
        fileSet - the files to be added
        message - a string that is a comment on the new added file
        Returns:
        an AddScmResult that contains the files that have been added
        Throws:
        ScmException - if any
      • branch

        BranchScmResult branch​(ScmRepository repository,
                               ScmFileSet fileSet,
                               java.lang.String branchName)
                        throws ScmException
        Branch (or label in some systems) will create a branch of the source file with a certain branch name
        Parameters:
        repository - the source control system
        fileSet - the files to branch. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
        branchName - the branch name to apply to the files
        Returns:
        TODO
        Throws:
        ScmException - if any
      • branch

        BranchScmResult branch​(ScmRepository repository,
                               ScmFileSet fileSet,
                               java.lang.String branchName,
                               java.lang.String message)
                        throws ScmException
        Branch (or label in some systems) will create a branch of the source file with a certain branch name
        Parameters:
        repository - the source control system
        fileSet - the files to branch. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
        branchName - the branch name to apply to the files
        message - the commit message used for the tag creation
        Returns:
        TODO
        Throws:
        ScmException - if any
      • changeLog

        @Deprecated
        ChangeLogScmResult changeLog​(ScmRepository repository,
                                     ScmFileSet fileSet,
                                     java.util.Date startDate,
                                     java.util.Date endDate,
                                     int numDays,
                                     ScmBranch branch)
                              throws ScmException
        Returns the changes that have happend in the source control system in a certain period of time. This can be adding, removing, updating, ... of files
        Parameters:
        repository - the source control system
        fileSet - the files to know the changes about. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
        startDate - the start date of the period
        endDate - the end date of the period
        numDays - the number days before the current time if startdate and enddate are null
        branch - the branch/tag
        Returns:
        The SCM result of the changelog command
        Throws:
        ScmException - if any
      • changeLog

        @Deprecated
        ChangeLogScmResult changeLog​(ScmRepository repository,
                                     ScmFileSet fileSet,
                                     java.util.Date startDate,
                                     java.util.Date endDate,
                                     int numDays,
                                     ScmBranch branch,
                                     java.lang.String datePattern)
                              throws ScmException
        Returns the changes that have happend in the source control system in a certain period of time. This can be adding, removing, updating, ... of files
        Parameters:
        repository - the source control system
        fileSet - the files to know the changes about. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
        startDate - the start date of the period
        endDate - the end date of the period
        numDays - the number days before the current time if startdate and enddate are null
        branch - the branch/tag
        datePattern - the date pattern use in changelog output returned by scm tool
        Returns:
        The SCM result of the changelog command
        Throws:
        ScmException - if any
      • changeLog

        ChangeLogScmResult changeLog​(ChangeLogScmRequest scmRequest)
                              throws ScmException
        Returns the changes that have happend in the source control system in a certain period of time. This can be adding, removing, updating, ... of files
        Parameters:
        scmRequest - request wrapping detailed parameters for the changelog command
        Returns:
        The SCM result of the changelog command
        Throws:
        ScmException - if any
        Since:
        1.8
      • checkIn

        CheckInScmResult checkIn​(ScmRepository repository,
                                 ScmFileSet fileSet,
                                 java.lang.String message)
                          throws ScmException
        Save the changes you have done into the repository. This will create a new version of the file or directory in the repository.

        When the fileSet has no entries, the fileSet.getBaseDir() is recursively committed. When the fileSet has entries, the commit is non-recursive and only the elements in the fileSet are committed.

        Parameters:
        repository - the source control system
        fileSet - the files to check in (sometimes called commit)
        message - a string that is a comment on the changes that where done
        Returns:
        TODO
        Throws:
        ScmException - if any
      • checkIn

        CheckInScmResult checkIn​(ScmRepository repository,
                                 ScmFileSet fileSet,
                                 ScmVersion revision,
                                 java.lang.String message)
                          throws ScmException
        Save the changes you have done into the repository. This will create a new version of the file or directory in the repository.

        When the fileSet has no entries, the fileSet.getBaseDir() is recursively committed. When the fileSet has entries, the commit is non-recursive and only the elements in the fileSet are committed.

        Parameters:
        repository - the source control system
        fileSet - the files to check in (sometimes called commit)
        revision - branch/tag/revision
        message - a string that is a comment on the changes that where done
        Returns:
        TODO
        Throws:
        ScmException - if any
      • checkOut

        CheckOutScmResult checkOut​(ScmRepository scmRepository,
                                   ScmFileSet scmFileSet,
                                   ScmVersion version,
                                   boolean recursive)
                            throws ScmException
        Create a copy of the repository on your local machine.
        Parameters:
        scmRepository - the source control system
        scmFileSet - the files are copied to the ScmFileSet.getBasedir() location
        version - get the version defined by the revision, branch or tag
        recursive - whether to check out recursively
        Returns:
        TODO
        Throws:
        ScmException - if any
      • edit

        EditScmResult edit​(ScmRepository repository,
                           ScmFileSet fileSet)
                    throws ScmException
        Make a file editable. This is used in source control systems where you look at read-only files and you need to make them not read-only anymore before you can edit them. This can also mean that no other user in the system can make the file not read-only anymore.
        Parameters:
        repository - the source control system
        fileSet - the files to make editable
        Returns:
        TODO
        Throws:
        ScmException - if any
      • export

        ExportScmResult export​(ScmRepository repository,
                               ScmFileSet fileSet,
                               java.lang.String outputDirectory)
                        throws ScmException
        Create an exported copy of the repository on your local machine
        Parameters:
        repository - the source control system
        fileSet - the files are copied to the ScmFileSet.getBasedir() location
        outputDirectory - the directory where the export will be stored
        Returns:
        TODO
        Throws:
        ScmException - if any
      • export

        ExportScmResult export​(ScmRepository repository,
                               ScmFileSet fileSet,
                               ScmVersion version,
                               java.lang.String outputDirectory)
                        throws ScmException
        Create an exported copy of the repository on your local machine
        Parameters:
        repository - the source control system
        fileSet - the files are copied to the ScmFileSet.getBasedir() location
        version - get the version defined by the branch/tag/revision
        outputDirectory - the directory where the export will be stored
        Returns:
        TODO
        Throws:
        ScmException - if any
      • list

        ListScmResult list​(ScmRepository repository,
                           ScmFileSet fileSet,
                           boolean recursive,
                           ScmVersion version)
                    throws ScmException
        List each element (files and directories) of fileSet as they exist in the repository.
        Parameters:
        repository - the source control system
        fileSet - the files to list
        recursive - descend recursively
        version - use the version defined by the branch/tag/revision
        Returns:
        the list of files in the repository
        Throws:
        ScmException - if any
      • mkdir

        MkdirScmResult mkdir​(ScmRepository repository,
                             ScmFileSet fileSet,
                             java.lang.String message,
                             boolean createInLocal)
                      throws ScmException
        Create new directory/directories in the repository.
        Parameters:
        repository - TODO
        fileSet - TODO
        message - TODO
        createInLocal - TODO
        Returns:
        TODO
        Throws:
        ScmException - if any
      • remove

        RemoveScmResult remove​(ScmRepository repository,
                               ScmFileSet fileSet,
                               java.lang.String message)
                        throws ScmException
        Removes the given files from the source control system
        Parameters:
        repository - the source control system
        fileSet - the files to be removed
        message - TODO
        Returns:
        TODO
        Throws:
        ScmException - if any
      • tag

        TagScmResult tag​(ScmRepository repository,
                         ScmFileSet fileSet,
                         java.lang.String tagName)
                  throws ScmException
        Tag (or label in some systems) will tag the source file with a certain tag
        Parameters:
        repository - the source control system
        fileSet - the files to tag. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
        tagName - the tag name to apply to the files
        Returns:
        TODO
        Throws:
        ScmException - if any
      • tag

        TagScmResult tag​(ScmRepository repository,
                         ScmFileSet fileSet,
                         java.lang.String tagName,
                         java.lang.String message)
                  throws ScmException
        Tag (or label in some systems) will tag the source file with a certain tag
        Parameters:
        repository - the source control system
        fileSet - the files to tag. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
        tagName - the tag name to apply to the files
        message - the commit message used for the tag creation
        Returns:
        TODO
        Throws:
        ScmException - if any
      • update

        UpdateScmResult update​(ScmRepository repository,
                               ScmFileSet fileSet,
                               ScmVersion version)
                        throws ScmException
        Updates the copy on the local machine with the changes in the repository
        Parameters:
        repository - the source control system
        fileSet - location of your local copy
        version - use the version defined by the branch/tag/revision
        Returns:
        TODO
        Throws:
        ScmException - if any
      • update

        UpdateScmResult update​(ScmRepository repository,
                               ScmFileSet fileSet,
                               boolean runChangelog)
                        throws ScmException
        Updates the copy on the local machine with the changes in the repository
        Parameters:
        repository - the source control system
        fileSet - location of your local copy
        runChangelog - Run the changelog command after the update
        Returns:
        TODO
        Throws:
        ScmException - if any
      • update

        UpdateScmResult update​(ScmRepository repository,
                               ScmFileSet fileSet,
                               ScmVersion version,
                               boolean runChangelog)
                        throws ScmException
        Updates the copy on the local machine with the changes in the repository
        Parameters:
        repository - the source control system
        fileSet - location of your local copy
        version - use the version defined by the branch/tag/revision
        runChangelog - Run the changelog command after the update
        Returns:
        TODO
        Throws:
        ScmException - if any
      • update

        UpdateScmResult update​(ScmRepository repository,
                               ScmFileSet fileSet,
                               java.lang.String datePattern)
                        throws ScmException
        Updates the copy on the local machine with the changes in the repository
        Parameters:
        repository - the source control system
        fileSet - location of your local copy
        datePattern - the date pattern use in changelog output returned by scm tool
        Returns:
        TODO
        Throws:
        ScmException - if any
      • update

        UpdateScmResult update​(ScmRepository repository,
                               ScmFileSet fileSet,
                               ScmVersion version,
                               java.lang.String datePattern)
                        throws ScmException
        Updates the copy on the local machine with the changes in the repository
        Parameters:
        repository - the source control system
        fileSet - location of your local copy
        version - use the version defined by the branch/tag/revision
        datePattern - the date pattern use in changelog output returned by scm tool
        Returns:
        TODO
        Throws:
        ScmException - if any
      • update

        UpdateScmResult update​(ScmRepository repository,
                               ScmFileSet fileSet,
                               java.util.Date lastUpdate)
                        throws ScmException
        Updates the copy on the local machine with the changes in the repository
        Parameters:
        repository - the source control system
        fileSet - location of your local copy
        lastUpdate - TODO
        Returns:
        TODO
        Throws:
        ScmException - if any
      • update

        UpdateScmResult update​(ScmRepository repository,
                               ScmFileSet fileSet,
                               ScmVersion version,
                               java.util.Date lastUpdate)
                        throws ScmException
        Updates the copy on the local machine with the changes in the repository
        Parameters:
        repository - the source control system
        fileSet - location of your local copy
        version - use the version defined by the branch/tag/revision
        lastUpdate - TODO
        Returns:
        TODO
        Throws:
        ScmException - if any
      • update

        UpdateScmResult update​(ScmRepository repository,
                               ScmFileSet fileSet,
                               java.util.Date lastUpdate,
                               java.lang.String datePattern)
                        throws ScmException
        Updates the copy on the local machine with the changes in the repository
        Parameters:
        repository - the source control system
        fileSet - location of your local copy
        lastUpdate - Date of last update
        datePattern - the date pattern use in changelog output returned by scm tool
        Returns:
        TODO
        Throws:
        ScmException - if any
      • update

        UpdateScmResult update​(ScmRepository repository,
                               ScmFileSet fileSet,
                               ScmVersion version,
                               java.util.Date lastUpdate,
                               java.lang.String datePattern)
                        throws ScmException
        Updates the copy on the local machine with the changes in the repository
        Parameters:
        repository - the source control system
        fileSet - location of your local copy
        version - use the version defined by the branch/tag/revision
        lastUpdate - Date of last update
        datePattern - the date pattern use in changelog output returned by scm tool
        Returns:
        TODO
        Throws:
        ScmException - if any
      • blame

        BlameScmResult blame​(ScmRepository repository,
                             ScmFileSet fileSet,
                             java.lang.String filename)
                      throws ScmException
        Returns the blame of specified file
        Parameters:
        repository - the source control system
        fileSet - location of your local copy
        filename - file
        Returns:
        blame for specified file
        Throws:
        ScmException - if any
        Since:
        1.4