Interface UpdatingVcsWorkingCopyManager

All Superinterfaces:
VcsWorkingCopyManager
All Known Implementing Classes:
BitbucketCloudWorkingCopyManager, BitbucketServerWorkingCopyManager, GitHubWorkingCopyManager, GitWorkingCopyManager, LegacyFixedDirectoryWorkingCopyManager, LegacyWorkingCopyManager

public interface UpdatingVcsWorkingCopyManager extends VcsWorkingCopyManager
VcsWorkingCopyManager that can update source on vcs server.
Since:
5.14
  • Method Details

    • stageChanges

      default void stageChanges(@NotNull @NotNull VcsWorkingCopy workingCopy, @NotNull @NotNull VcsRepositoryData repositoryData, @NotNull @NotNull Collection<String> pathsToAdd) throws RepositoryException
      Stage changes for committing. If staging is not required or supported by repository, this method should do nothing.

      Staging logic may differ between repository types.

      Parameters:
      workingCopy - workspace to perform the staging
      repositoryData - configuration of repository
      pathsToAdd - paths, relative to working copy directory, to stage for committing; if empty, all modified files from working copy directory should be staged
      Throws:
      RepositoryException
    • commitLocal

      @NotNull @NotNull VcsWorkingCopy commitLocal(@NotNull @NotNull VcsWorkingCopy workingCopy, @NotNull @NotNull VcsRepositoryData vcsRepositoryData, @NotNull @NotNull String commitMessage) throws RepositoryException
      Create a local commit. The exact meaning of this operation depends on repository type. In particular, it can be no-op for certain repository types, for example SVN. Intended use: creating a private revision that can be used later in the build.
      Parameters:
      workingCopy -
      vcsRepositoryData -
      commitMessage -
      Returns:
      updated state of local working copy
      Throws:
      RepositoryException
    • updateRemote

      @NotNull @NotNull VcsWorkingCopy updateRemote(@NotNull @NotNull VcsWorkingCopy workingCopy, @NotNull @NotNull VcsRepositoryData vcsRepositoryData, @NotNull @NotNull String commitMessage) throws RepositoryException
      Update remote repository. The exact meaning of this operation depends on repository type. In DVCS case this should push pre-existing local commit to remote repository. In traditional vcs, like Subversion, this should execute commit operation. Intended use: publishing changes to the world.
      Parameters:
      workingCopy -
      vcsRepositoryData -
      commitMessage - - implementors are free to ignore this parameter.
      Returns:
      updated state of local working copy
      Throws:
      RepositoryException