Interface VcsChangeDetector

All Superinterfaces:
IdentifyingExecutor<VcsChangeDetector>
All Known Subinterfaces:
CommitsIsolatingVcsChangeDetector
All Known Implementing Classes:
BitbucketCloudChangeDetector, BitbucketServerChangeDetector, GitChangeDetector, GitHubChangeDetector, LegacyChangeDetector, SvnChangeDetector

public interface VcsChangeDetector extends IdentifyingExecutor<VcsChangeDetector>
Executor responsible for finding changes in the repository. Used server-side. Implementation should be stateless.
Since:
5.14
  • Method Details

    • collectChangesSinceRevision

      @NotNull @NotNull BuildRepositoryChanges collectChangesSinceRevision(@NotNull @NotNull PlanKey planKey, @NotNull @NotNull VcsRepositoryData repositoryData, @NotNull @NotNull PlanVcsRevisionData lastRevisionData) throws RepositoryException
      Throws:
      RepositoryException
    • collectChangesForRevision

      @NotNull @NotNull BuildRepositoryChanges collectChangesForRevision(@NotNull @NotNull PlanKey planKey, @NotNull @NotNull VcsRepositoryData repositoryData, @NotNull @NotNull String customRevision) throws RepositoryException
      Throws:
      RepositoryException
    • collectChangesForInitialBuild

      default BuildRepositoryChanges collectChangesForInitialBuild(@NotNull @NotNull PlanKey planKey, @NotNull @NotNull VcsRepositoryData repositoryData, @Nullable @Nullable VcsBranch otherBranch, boolean otherBranchUnreliable) throws RepositoryException
      This method is used to generate the list of commits for an initial build of a plan branch. In particular, this _can_ be the result of comparing current branch with another branch, but it's not a strict contract, i.e. depending on vcs type, there might exist better way to determine optimum commit list. Default implementations returns the last commit revision and empty commit list.
      Parameters:
      otherBranch - branch that can be used as reference when generating the commit list. Guaranteed to be not null if the repository type supports branches.
      otherBranchUnreliable - indicates that 'otherBranch' is not a reliable reference point
      Throws:
      RepositoryException