com.atlassian.bitbucket.scm.ScmExtendedCommandFactory |
Creates commands
which provide optional SCM functionality such as merging two branches or updating
the default branch. Each method accepts a set of CommandParameters
which are used to control the command's
behaviour and output.
Each command on this factory has an associated SCM feature
. Prior to using any of these commands,
callers should check if the feature is supported
. Failure to
do so will result in FeatureUnsupportedScmException
s when requesting unsupported commands.
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Adds a new file or updates the content of an existing file as described in the
parameters . | |||||||||||
Merges the specified
fromCommitId into the specified toBranch . | |||||||||||
Retrieves requested objects and if the object is signed, provides the signature and signed content to the
callback.
| |||||||||||
Sets the default branch for the repository to the specified branch.
|
Streams an archive of the specified cmmit
in the requested
format
.
The provided commit ID may be:
branch ID
or display ID
commit ID
Display IDs
are not supported; there is no guarantee
a given display ID will be unique within the repositorytag ID
or display ID
This operation is optional and may not be supported by all SCM implementations. Calling this method on an
SCM which does not support it will result in a FeatureUnsupportedScmException
.
parameters | parameters describing the commit to archive and the format to produce the archive in |
---|---|
outputSupplier | a supplier which, when given the archive content type, will provide an output stream |
FeatureUnsupportedScmException | if the underlying SCM does not support archiving repositories |
---|
Adds a new file or updates the content of an existing file as described in the parameters
.
This operation is optional and may not be supported by all SCM implementations. Calling this method on an
SCM which does not support it will result in a FeatureUnsupportedScmException
.
parameters | parameters describing the file to be edited |
---|
FeatureUnsupportedScmException | if the underlying SCM does not support editing a file. |
---|
Streams the latest commit to modify each file in the specified path
, using the provided commit
as the starting point for the
traversal.
This operation is optional and may not be supported by all SCM implementations. Calling this method on an
SCM which does not support it will result in a FeatureUnsupportedScmException
.
parameters | parameters describing the path to stream modifications for, and the starting commit for the traversal |
---|---|
callback | a callback to receive the latest commit for files in the specified path |
FeatureUnsupportedScmException | if the underlying SCM does not support streaming modifications |
---|
Merges the specified fromCommitId
into the specified toBranch
.
The provided fromCommitId
may be:
toBranch
, as the parameter name suggests, must be a branch name, either fully
qualified or short; using a hash (full or short) is not supported.
If the SCM supports
cross-repository
merges, a different from repository
may
be provided. Otherwise, it must be omitted or match the target repository.
This operation is optional and may not be supported by all SCM implementations. Calling this method on an
SCM which does not support it will result in a FeatureUnsupportedScmException
.
Note: This method is not exposed via the service API. It is only available directly on the SCM API.
parameters | parameters describing the branches to merge |
---|
FeatureUnsupportedScmException | if the underlying SCM does not support merging branches, or if a
cross-repository merge was requested and the SCM doesn't support
cross-repository merges |
---|
Retrieves requested objects and if the object is signed, provides the signature and signed content to the callback.
parameters | describes which objects to retrieve |
---|---|
callback | callback to receive the requested objects |
FeatureUnsupportedScmException | if the underlying SCM does not support retrieving signed objects |
---|
Sets the default branch for the repository to the specified branch.
This operation is optional and may not be supported by all SCM implementations. Calling this method on an
SCM which does not support it will result in a FeatureUnsupportedScmException
.
parameters | parameters describing the branch to make the default |
---|
FeatureUnsupportedScmException | if the underlying SCM does not support setting the default branch |
---|