Interface BranchMergingAwareRepository

All Superinterfaces:
BambooPluginModule, BranchAwareRepository, BuildConfigurationAwarePlugin, ConfigurablePlugin, ConvertibleFromConfig, CustomSourceDirectoryAwareRepository, DescriptionProvider, InitablePluginModule, NameProvider, RenderableBuildConfiguration, Repository, RepositoryV2, Serializable
All Known Subinterfaces:
BitbucketDelegatedRepository, StashRepository
All Known Implementing Classes:
BitbucketRepository, GitHubRepository, GitRepository, StashRepositoryImpl

public interface BranchMergingAwareRepository extends BranchAwareRepository, CustomSourceDirectoryAwareRepository
  • Method Details

    • mergeWorkspaceWith

      boolean mergeWorkspaceWith(@NotNull @NotNull BuildContext buildContext, @NotNull @NotNull File checkoutDirectory, @NotNull @NotNull String targetRevision) throws RepositoryException
      Merges a workspace located in checkout directory with the target revision.
      Parameters:
      buildContext - the build context of build doing the merge
      checkoutDirectory - the workspace to use for merge
      targetRevision - the revision to merge with
      Returns:
      true if the result of the merge would result in a non-empty commit
      Throws:
      RepositoryException
    • isMergingSupported

      boolean isMergingSupported()
    • retrieveSourceCode

      @NotNull @NotNull String retrieveSourceCode(@NotNull @NotNull BuildContext buildContext, @Nullable @Nullable String vcsRevisionKey, @NotNull @NotNull File sourceDirectory, int depth) throws RepositoryException
      Checks out the latest source code from an appropriate repository to specified directory
      Parameters:
      buildContext -
      vcsRevisionKey - - may be null if you want latest code
      sourceDirectory - - directory to checkout to
      depth - - how many historical revisions we'd like to check out (-1 means all revisions)
      Returns:
      vcsRevisionKey - the revision
      Throws:
      RepositoryException
    • getBranchIntegrationEditHtml

      @Nullable @Nullable String getBranchIntegrationEditHtml()
      Gives repository a chance to display a HTML on the UI when user is enabling "Branch Integration" feature
      Returns:
      HTML snippet to be displayed on UI