Class ScmProviderStub

java.lang.Object
org.apache.maven.scm.provider.ScmProviderStub
All Implemented Interfaces:
ScmProvider

public class ScmProviderStub extends Object implements ScmProvider
Stub implementation of ScmProvider for unit testing purposes. It allows setting the expected results that the different methods will return. More information about Stubs on Martin Fowler's TestDouble
  • Field Details

  • Constructor Details

    • ScmProviderStub

      public ScmProviderStub()
      Create a new ScmProviderStub with bogus (not null) attributes.
  • Method Details

    • sanitizeTagName

      public String sanitizeTagName(String tag)
      Given a tag name, make it suitable for this SCM provider.
      Specified by:
      sanitizeTagName in interface ScmProvider
      Parameters:
      tag - input tag name
      Returns:
      sanitized tag name
    • validateTagName

      public boolean validateTagName(String tag)
      Check if this tag is valid for this SCM provider.
      Specified by:
      validateTagName in interface ScmProvider
      Parameters:
      tag - tag name to check
      Returns:
      true if tag is valid
    • getScmType

      public String getScmType()
      Specified by:
      getScmType in interface ScmProvider
    • setScmSpecificFilename

      public void setScmSpecificFilename(String scmSpecificFilename)
    • requiresEditMode

      public boolean requiresEditMode()
      Specified by:
      requiresEditMode in interface ScmProvider
    • setAddScmResult

      public void setAddScmResult(AddScmResult addScmResult)
    • getAddScmResult

      public AddScmResult getAddScmResult()
    • setBranchScmResult

      public void setBranchScmResult(BranchScmResult branchScmResult)
    • getBranchScmResult

      public BranchScmResult getBranchScmResult()
    • setCheckInScmResult

      public void setCheckInScmResult(CheckInScmResult checkInScmResult)
    • getCheckInScmResult

      public CheckInScmResult getCheckInScmResult()
    • setCheckOutScmResult

      public void setCheckOutScmResult(CheckOutScmResult checkOutScmResult)
    • getCheckOutScmResult

      public CheckOutScmResult getCheckOutScmResult()
    • setChangeLogScmResult

      public void setChangeLogScmResult(ChangeLogScmResult changeLogScmResult)
    • getChangeLogScmResult

      public ChangeLogScmResult getChangeLogScmResult()
    • setDiffScmResult

      public void setDiffScmResult(DiffScmResult diffScmResult)
    • getDiffScmResult

      public DiffScmResult getDiffScmResult()
    • getExportScmResult

      public ExportScmResult getExportScmResult()
    • setExportScmResult

      public void setExportScmResult(ExportScmResult exportScmResult)
    • setTagScmResult

      public void setTagScmResult(TagScmResult tagScmResult)
    • getTagScmResult

      public TagScmResult getTagScmResult()
    • setUntagScmResult

      public void setUntagScmResult(UntagScmResult untagScmResult)
    • getUntagScmResult

      public UntagScmResult getUntagScmResult()
    • setRemoveScmResult

      public void setRemoveScmResult(RemoveScmResult removeScmResult)
    • getRemoveScmResult

      public RemoveScmResult getRemoveScmResult()
    • setStatusScmResult

      public void setStatusScmResult(StatusScmResult statusScmResult)
    • getStatusScmResult

      public StatusScmResult getStatusScmResult()
    • setUpdateScmResult

      public void setUpdateScmResult(UpdateScmResult updateScmResult)
    • getUpdateScmResult

      public UpdateScmResult getUpdateScmResult()
    • setEditScmResult

      public void setEditScmResult(EditScmResult editScmResult)
    • getEditScmResult

      public EditScmResult getEditScmResult()
    • setUnEditScmResult

      public void setUnEditScmResult(UnEditScmResult unEditScmResult)
    • getUnEditScmResult

      public UnEditScmResult getUnEditScmResult()
    • setListScmResult

      public void setListScmResult(ListScmResult listScmResult)
    • getListScmResult

      public ListScmResult getListScmResult()
    • setBlameScmResult

      public void setBlameScmResult(BlameScmResult blameScmResult)
    • getBlameScmResult

      public BlameScmResult getBlameScmResult()
    • getMkdirScmResult

      public MkdirScmResult getMkdirScmResult()
    • setMkdirScmResult

      public void setMkdirScmResult(MkdirScmResult mkdirScmResult)
    • makeProviderScmRepository

      public ScmProviderRepository makeProviderScmRepository(String scmSpecificUrl, char delimiter) throws ScmRepositoryException
      Specified by:
      makeProviderScmRepository in interface ScmProvider
      Throws:
      ScmRepositoryException
    • makeProviderScmRepository

      public ScmProviderRepository makeProviderScmRepository(File path) throws ScmRepositoryException, UnknownRepositoryStructure
      Try to create a ScmProviderRepository for this provider from the given working directory (created through a previous checkout). This is only successful if the working directory is recognized by this SCM provider.
      Specified by:
      makeProviderScmRepository in interface ScmProvider
      Parameters:
      path - the checkout(working) directory
      Returns:
      the repository bound to this provider
      Throws:
      ScmRepositoryException - in case the given directory does not contain a valid working directory recognized by this provider
      UnknownRepositoryStructure - in case the provider does not support this way of initializing an ScmProviderRepository
    • validateScmUrl

      public List<String> validateScmUrl(String scmSpecificUrl, char delimiter)
      Validate the scm url.
      Specified by:
      validateScmUrl in interface ScmProvider
      Parameters:
      scmSpecificUrl - the SCM url
      delimiter - the delimiter used in the SCM url
      Returns:
      returns a list of messages if the validation failed
    • getScmSpecificFilename

      public String getScmSpecificFilename()
      Returns the scm reserved file name where the SCM stores information like '.git', '.svn'.
      Specified by:
      getScmSpecificFilename in interface ScmProvider
      Returns:
      the scm reserved file name
    • add

      public AddScmResult add(ScmRepository repository, ScmFileSet fileSet) throws ScmException
      Adds the given files to the source control system.
      Specified by:
      add in interface ScmProvider
      Parameters:
      repository - the source control system
      fileSet - the files to be added
      Returns:
      an AddScmResult that contains the files that have been added
      Throws:
      ScmException - if any
    • add

      public AddScmResult add(ScmRepository repository, ScmFileSet fileSet, String message) throws ScmException
      Adds the given files to the source control system.
      Specified by:
      add in interface ScmProvider
      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
    • add

      public AddScmResult add(ScmRepository repository, ScmFileSet fileSet, CommandParameters commandParameters) throws ScmException
      Description copied from interface: ScmProvider
      Adds the given files to the source control system.
      Specified by:
      add in interface ScmProvider
      Parameters:
      repository - the source control system
      fileSet - the files to be added
      commandParameters - CommandParameters
      Returns:
      an AddScmResult that contains the files that have been added
      Throws:
      ScmException - if any
    • branch

      public BranchScmResult branch(ScmRepository repository, ScmFileSet fileSet, String branchName) throws ScmException
      Branch (or label in some systems) will create a branch of the source file with a certain branch name.
      Specified by:
      branch in interface ScmProvider
      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

      public BranchScmResult branch(ScmRepository repository, ScmFileSet fileSet, String branchName, String message) throws ScmException
      Branch (or label in some systems) will create a branch of the source file with a certain branch name.
      Specified by:
      branch in interface ScmProvider
      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
    • branch

      public BranchScmResult branch(ScmRepository repository, ScmFileSet fileSet, String branchName, ScmBranchParameters scmBranchParameters) throws ScmException
      Branch (or label in some systems) will create a branch of the source file with a certain branch name.
      Specified by:
      branch in interface ScmProvider
      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
      scmBranchParameters - TODO
      Returns:
      TODO
      Throws:
      ScmException - if any
    • changeLog

      public ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate, int numDays, String branch) throws ScmException
      Returns the changes that have happened in the source control system in a certain period of time. This can be adding, removing, updating, ... of files.
      Specified by:
      changeLog in interface ScmProvider
      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 name
      Returns:
      the SCM result of the changelog command
      Throws:
      ScmException - if any
    • changeLog

      public ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate, int numDays, String branch, String datePattern) throws ScmException
      Returns the changes that have happened in the source control system in a certain period of time. This can be adding, removing, updating, ... of files.
      Specified by:
      changeLog in interface ScmProvider
      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 name
      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

      public ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, String startTag, String endTag) throws ScmException
      Returns the changes that have happened in the source control system between two tags. This can be adding, removing, updating, ... of files.
      Specified by:
      changeLog in interface ScmProvider
      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.
      startTag - the start tag
      endTag - the end tag
      Returns:
      the SCM result of the changelog command
      Throws:
      ScmException - if any
    • changeLog

      public ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, String startTag, String endTag, String datePattern) throws ScmException
      Returns the changes that have happened in the source control system between two tags. This can be adding, removing, updating, ... of files.
      Specified by:
      changeLog in interface ScmProvider
      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.
      startTag - the start tag
      endTag - the end tag
      datePattern - the date pattern use in changelog output returned by scm tool
      Returns:
      TODO
      Throws:
      ScmException - if any
    • changeLog

      public ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate, int numDays, ScmBranch branch) throws ScmException
      Returns the changes that have happened in the source control system in a certain period of time. This can be adding, removing, updating, ... of files.
      Specified by:
      changeLog in interface ScmProvider
      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

      public ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate, int numDays, ScmBranch branch, String datePattern) throws ScmException
      Returns the changes that have happened in the source control system in a certain period of time. This can be adding, removing, updating, ... of files.
      Specified by:
      changeLog in interface ScmProvider
      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

      public ChangeLogScmResult changeLog(ChangeLogScmRequest scmRequest) throws ScmException
      Description copied from interface: ScmProvider
      Returns the changes that have happened in the source control system in a certain period of time. This can be adding, removing, updating, ... of files.
      Specified by:
      changeLog in interface ScmProvider
      Parameters:
      scmRequest - request wrapping detailed parameters for the changelog command
      Returns:
      the SCM result of the changelog command
      Throws:
      ScmException - if any
    • changeLog

      public ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion, ScmVersion endVersion) throws ScmException
      Returns the changes that have happened in the source control system between two tags. This can be adding, removing, updating, ... of files.
      Specified by:
      changeLog in interface ScmProvider
      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.
      startVersion - the start branch/tag/revision
      endVersion - the end branch/tag/revision
      Returns:
      the SCM result of the changelog command
      Throws:
      ScmException - if any
    • changeLog

      public ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, ScmVersion startRevision, ScmVersion endRevision, String datePattern) throws ScmException
      Returns the changes that have happened in the source control system between two tags. This can be adding, removing, updating, ... of files.
      Specified by:
      changeLog in interface ScmProvider
      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.
      startRevision - the start revision
      endRevision - the end revision
      datePattern - the date pattern use in changelog output returned by scm tool
      Returns:
      TODO
      Throws:
      ScmException - if any
    • checkIn

      public CheckInScmResult checkIn(ScmRepository repository, ScmFileSet fileSet, String tag, 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.

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

      public CheckInScmResult checkIn(ScmRepository repository, ScmFileSet fileSet, 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.

      Specified by:
      checkIn in interface ScmProvider
      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

      public CheckInScmResult checkIn(ScmRepository repository, ScmFileSet fileSet, ScmVersion revision, 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.

      Specified by:
      checkIn in interface ScmProvider
      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
    • checkIn

      public CheckInScmResult checkIn(ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
      Description copied from interface: ScmProvider
      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.

      Specified by:
      checkIn in interface ScmProvider
      Parameters:
      repository - the source control system
      fileSet - the files to check in (sometimes called commit)
      parameters - CommandParameters
      Returns:
      TODO
      Throws:
      ScmException - if any
    • checkOut

      public CheckOutScmResult checkOut(ScmRepository scmRepository, ScmFileSet scmFileSet, String tag, boolean recursive) throws ScmException
      Create a copy of the repository on your local machine.
      Specified by:
      checkOut in interface ScmProvider
      Parameters:
      scmRepository - the source control system
      scmFileSet - the files are copied to the ScmFileSet.getBasedir() location
      tag - tag or revision
      recursive - whether to check out recursively
      Returns:
      TODO
      Throws:
      ScmException - if any
    • checkOut

      public CheckOutScmResult checkOut(ScmRepository repository, ScmFileSet fileSet, String tag) throws ScmException
      Create a copy of the repository on your local machine.
      Specified by:
      checkOut in interface ScmProvider
      Parameters:
      repository - the source control system
      fileSet - the files are copied to the ScmFileSet.getBasedir() location
      tag - get the version defined by the tag
      Returns:
      TODO
      Throws:
      ScmException - if any
    • checkOut

      public CheckOutScmResult checkOut(ScmRepository repository, ScmFileSet fileSet) throws ScmException
      Create a copy of the repository on your local machine.
      Specified by:
      checkOut in interface ScmProvider
      Parameters:
      repository - the source control system
      fileSet - the files are copied to the ScmFileSet.getBasedir() location
      Returns:
      TODO
      Throws:
      ScmException - if any
    • checkOut

      public CheckOutScmResult checkOut(ScmRepository repository, ScmFileSet fileSet, ScmVersion version) throws ScmException
      Create a copy of the repository on your local machine.
      Specified by:
      checkOut in interface ScmProvider
      Parameters:
      repository - the source control system
      fileSet - the files are copied to the ScmFileSet.getBasedir() location
      version - get the version defined by the revision, branch or tag
      Returns:
      TODO
      Throws:
      ScmException - if any
    • checkOut

      public CheckOutScmResult checkOut(ScmRepository scmRepository, ScmFileSet scmFileSet, boolean recursive) throws ScmException
      Create a copy of the repository on your local machine.
      Specified by:
      checkOut in interface ScmProvider
      Parameters:
      scmRepository - the source control system
      scmFileSet - the files are copied to the ScmFileSet.getBasedir() location
      recursive - whether to check out recursively
      Returns:
      TODO
      Throws:
      ScmException - if any
    • checkOut

      public CheckOutScmResult checkOut(ScmRepository scmRepository, ScmFileSet scmFileSet, ScmVersion version, boolean recursive) throws ScmException
      Create a copy of the repository on your local machine.
      Specified by:
      checkOut in interface ScmProvider
      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
    • checkOut

      public CheckOutScmResult checkOut(ScmRepository scmRepository, ScmFileSet scmFileSet, ScmVersion version, CommandParameters commandParameters) throws ScmException
      Description copied from interface: ScmProvider
      Create a copy of the repository on your local machine.
      Specified by:
      checkOut in interface ScmProvider
      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
      commandParameters - parameters
      Returns:
      TODO
      Throws:
      ScmException - if any
    • diff

      public DiffScmResult diff(ScmRepository repository, ScmFileSet fileSet, String startRevision, String endRevision) throws ScmException
      Create a diff between two branch/tag/revision.
      Specified by:
      diff in interface ScmProvider
      Parameters:
      repository - the source control system
      fileSet - the files are copied to the ScmFileSet.getBasedir() location
      startRevision - the start revision
      endRevision - the end revision
      Returns:
      TODO
      Throws:
      ScmException - if any
    • diff

      public DiffScmResult diff(ScmRepository scmRepository, ScmFileSet scmFileSet, ScmVersion startVersion, ScmVersion endVersion) throws ScmException
      Create a diff between two branch/tag/revision.
      Specified by:
      diff in interface ScmProvider
      Parameters:
      scmRepository - the source control system
      scmFileSet - the files are copied to the ScmFileSet.getBasedir() location
      startVersion - the start branch/tag/revision
      endVersion - the end branch/tag/revision
      Returns:
      TODO
      Throws:
      ScmException - if any
    • update

      public UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate, String datePattern, boolean runChangelog) throws ScmException
      Returns:
      getUpdateScmResult() always
      Throws:
      ScmException
    • edit

      public 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 writable before you can edit them. This can also mean that no other user in the system can make the file writable.
      Specified by:
      edit in interface ScmProvider
      Parameters:
      repository - the source control system
      fileSet - the files to make editable
      Returns:
      TODO
      Throws:
      ScmException - if any
    • export

      public ExportScmResult export(ScmRepository repository, ScmFileSet fileSet, String tag) throws ScmException
      Create an exported copy of the repository on your local machine.
      Specified by:
      export in interface ScmProvider
      Parameters:
      repository - the source control system
      fileSet - the files are copied to the ScmFileSet.getBasedir() location
      tag - get the version defined by the tag
      Returns:
      TODO
      Throws:
      ScmException - if any
    • export

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

      public ExportScmResult export(ScmRepository repository, ScmFileSet fileSet) throws ScmException
      Create an exported copy of the repository on your local machine.
      Specified by:
      export in interface ScmProvider
      Parameters:
      repository - the source control system
      fileSet - the files are copied to the ScmFileSet.getBasedir() location
      Returns:
      TODO
      Throws:
      ScmException - if any
    • export

      public ExportScmResult export(ScmRepository repository, ScmFileSet fileSet, ScmVersion version) throws ScmException
      Create an exported copy of the repository on your local machine.
      Specified by:
      export in interface ScmProvider
      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
      Returns:
      TODO
      Throws:
      ScmException - if any
    • export

      public ExportScmResult export(ScmRepository repository, ScmFileSet fileSet, ScmVersion version, String outputDirectory) throws ScmException
      Create an exported copy of the repository on your local machine.
      Specified by:
      export in interface ScmProvider
      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

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

      public 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.
      Specified by:
      list in interface ScmProvider
      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
    • remove

      public RemoveScmResult remove(ScmRepository repository, ScmFileSet fileSet, String message) throws ScmException
      Removes the given files from the source control system.
      Specified by:
      remove in interface ScmProvider
      Parameters:
      repository - the source control system
      fileSet - the files to be removed
      message - TODO
      Returns:
      TODO
      Throws:
      ScmException - if any
    • status

      public StatusScmResult status(ScmRepository repository, ScmFileSet fileSet) throws ScmException
      Returns the status of the files in the source control system. The state of each file can be one of the ScmFileStatus flags.
      Specified by:
      status in interface ScmProvider
      Parameters:
      repository - the source control system
      fileSet - the files to know the status about. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
      Returns:
      TODO
      Throws:
      ScmException - if any
    • tag

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

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

      public TagScmResult tag(ScmRepository repository, ScmFileSet fileSet, String tagName, ScmTagParameters scmTagParameters) throws ScmException
      Description copied from interface: ScmProvider
      Tag (or label in some systems) will tag the source file with a certain tag.
      Specified by:
      tag in interface ScmProvider
      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
      scmTagParameters - bean to pass some paramters for tagging ScmTagParameters
      Returns:
      TODO
      Throws:
      ScmException - if any
    • untag

      public UntagScmResult untag(ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
      Description copied from interface: ScmProvider
      Deletes a tag.
      Specified by:
      untag in interface ScmProvider
      Parameters:
      repository - the source control system
      fileSet - a fileset with the relevant working directory as basedir
      parameters - TODO
      Returns:
      TODO
      Throws:
      ScmException - if any
    • update

      public UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, String tag) throws ScmException
      Updates the copy on the local machine with the changes in the repository.
      Specified by:
      update in interface ScmProvider
      Parameters:
      repository - the source control system
      fileSet - location of your local copy
      tag - use the version defined by the tag
      Returns:
      TODO
      Throws:
      ScmException - if any
    • update

      public UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, String tag, boolean runChangelog) throws ScmException
      Updates the copy on the local machine with the changes in the repository.
      Specified by:
      update in interface ScmProvider
      Parameters:
      repository - the source control system
      fileSet - location of your local copy
      tag - use the version defined by the tag
      runChangelog - run the changelog command after the update
      Returns:
      TODO
      Throws:
      ScmException - if any
    • update

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

      public UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate) throws ScmException
      Updates the copy on the local machine with the changes in the repository.
      Specified by:
      update in interface ScmProvider
      Parameters:
      repository - the source control system
      fileSet - location of your local copy
      tag - use the version defined by the tag
      lastUpdate - TODO
      Returns:
      TODO
      Throws:
      ScmException - if any
    • update

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

      public UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet) throws ScmException
      Updates the copy on the local machine with the changes in the repository.
      Specified by:
      update in interface ScmProvider
      Parameters:
      repository - the source control system
      fileSet - location of your local copy
      Returns:
      TODO
      Throws:
      ScmException - if any
    • update

      public UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, ScmVersion version) throws ScmException
      Updates the copy on the local machine with the changes in the repository.
      Specified by:
      update in interface ScmProvider
      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

      public UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, boolean runChangelog) throws ScmException
      Updates the copy on the local machine with the changes in the repository.
      Specified by:
      update in interface ScmProvider
      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

      public 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.
      Specified by:
      update in interface ScmProvider
      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

      public UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, ScmVersion version, String datePattern) throws ScmException
      Updates the copy on the local machine with the changes in the repository.
      Specified by:
      update in interface ScmProvider
      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

      public UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, ScmVersion version, Date lastUpdate) throws ScmException
      Updates the copy on the local machine with the changes in the repository.
      Specified by:
      update in interface ScmProvider
      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

      public UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, ScmVersion version, Date lastUpdate, String datePattern) throws ScmException
      Updates the copy on the local machine with the changes in the repository.
      Specified by:
      update in interface ScmProvider
      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
    • unedit

      public UnEditScmResult unedit(ScmRepository repository, ScmFileSet fileSet) throws ScmException
      Make a file no longer editable. This is the conterpart of ScmProvider.edit(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet). It makes the file read-only again.
      Specified by:
      unedit in interface ScmProvider
      Parameters:
      repository - the source control system
      fileSet - the files to make uneditable
      Returns:
      TODO
      Throws:
      ScmException - if any
    • blame

      public BlameScmResult blame(ScmRepository repository, ScmFileSet fileSet, String filename) throws ScmException
      Returns the blame of specified file.
      Specified by:
      blame in interface ScmProvider
      Parameters:
      repository - the source control system
      fileSet - location of your local copy
      filename - file
      Returns:
      blame for specified file
      Throws:
      ScmException - if any
    • blame

      public BlameScmResult blame(BlameScmRequest blameScmRequest) throws ScmException
      Specified by:
      blame in interface ScmProvider
      Parameters:
      blameScmRequest - TODO
      Returns:
      blame for the file specified in the request
      Throws:
      ScmException - if any
    • mkdir

      public MkdirScmResult mkdir(ScmRepository repository, ScmFileSet fileSet, String message, boolean createInLocal) throws ScmException
      Create directory/directories in the repository.
      Specified by:
      mkdir in interface ScmProvider
      Parameters:
      repository - TODO
      fileSet - TODO
      message - TODO
      createInLocal - TODO
      Returns:
      TODO
      Throws:
      ScmException - if any
    • info

      public InfoScmResult info(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
      Specified by:
      info in interface ScmProvider
      Parameters:
      repository - the source control system
      fileSet - location of your local copy
      parameters - some parameters (not use currently but for future use)
      Returns:
      if the scm implementation doesn't support "info" result will null
      Throws:
      ScmException - if any
    • remoteInfo

      public RemoteInfoScmResult remoteInfo(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
      Specified by:
      remoteInfo in interface ScmProvider
      Parameters:
      repository - the source control system
      fileSet - not use currently but for future use
      parameters - some parameters (not use currently but for future use)
      Returns:
      if the scm implementation doesn't support "info" result will null
      Throws:
      ScmException - if any