com.atlassian.bitbucket.commit.CommitService |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Adds a general comment on the specified commit in the specified repository.
| |||||||||||
Adds a line comment to a commit diff in the specified repository.
| |||||||||||
Adds a file-level comment to a commit diff in the specified repository.
| |||||||||||
Adds a reply to a comment.
| |||||||||||
Deletes a comment.
| |||||||||||
Retrieves a page of
changes between two commits. | |||||||||||
Retrieves changesets for each of the requested
getCommitIds() commits}, including the
first page of changes between each commit and its first parent. | |||||||||||
Retrieves a the specified comment by its
ID . | |||||||||||
Retrieves a commit based on te provided
request . | |||||||||||
Retrieves a page of commits, starting from a given branch, tag or commit, optionally filtered to only return
commits which modify one or more paths.
| |||||||||||
Retrieves a page of commits between the
included commits and the
excluded commits . | |||||||||||
Streams commits, starting from a given branch, tag or commit, optionally filtered to only include commits which
modify one or more paths.
| |||||||||||
Streams commits between the
included commits and the
excluded commits . | |||||||||||
Streams diff output for the specified
paths at the specified commit. | |||||||||||
Traverse the graph of commits in topological order, optionally supplying included commits to start from
and excluded commits to ignore.
| |||||||||||
Removes the current user as a watcher for the specified commit, which will prevent further notifications from
being dispatched to that user.
| |||||||||||
Updates the
text for the specified comment. | |||||||||||
Adds the current user as a watcher for the specified commit.
|
Adds a general comment on the specified commit in the specified repository.
repository | the ID of the repository containing the commit |
---|---|
commitId | the ID of the commit within the repository |
commentText | the comment text |
Adds a line comment to a commit diff in the specified repository.
The request's toHash
should generally be omitted. If it is provided,
it must match the commitId
. For merge commits, which have a diff for each parent, the desired diff can
be selected by providing the parent's ID in the fromHash
. If the
fromHash
is null
, the first parent will be assumed.
repository | the ID of the repository containing the commit |
---|---|
commitId | the ID of the commit within the repository |
request | a request describing the comment to create |
ArgumentValidationException | if the request contains invalid data
|
---|
Adds a file-level comment to a commit diff in the specified repository.
The request's toHash
should generally be omitted. If it is provided,
it must match the commitId
. For merge commits, which have a diff for each parent, the desired diff can
be selected by providing the parent's ID in the fromHash
. If the
fromHash
is null
, the first parent will be assumed.
repository | the ID of the repository containing the commit |
---|---|
commitId | the ID of the commit within the repository |
request | a request describing the comment to create |
ArgumentValidationException | if the request contains invalid data
|
---|
Adds a reply to a comment.
repository | the ID of the repository containing the commit |
---|---|
commitId | the ID of the commit within the repository |
commentId | the ID of the comment to reply to |
commentText | the comment text |
NoSuchCommentException | if no comment exists with the specified ID |
---|
Deletes a comment.
repository | the ID of the repository containing the commit |
---|---|
commitId | the ID of the commit within the repository |
commentId | the ID of the comment to delete |
commentVersion | the expected version of the comment |
true
if the comment existed (and thus was deleted); otherwise false
CommentDeletionException | if the comment has replies |
---|---|
CommentOutOfDateException | if the version of the specified comment does not match the expected version |
Finds anchors
for file
and
line
comments on the specified path in the commit.
For merge commits, which have a diff for each parent, the parent ID can also be provided to
select the diff to retrieve comments from.
repository | the ID of the repository containing the commit |
---|---|
commitId | the ID of the commit within the repository |
parentId | the ID of the parent, used to select the desired diff for merge commits. If the parent ID is not provided the commit's first parent is automatically used if it has one |
path | the path of the file for which the anchors should be retrieved |
path
in the commit
Retrieves a page of changes
between two commits. If the since
commit is not specified, the until
commit's first parent is used.
Note: The implementation will apply a hard cap (page.max.changes
) and it is not
possible to request subsequent content when that cap is exceeded.
request | describes the two commits to retrieve changes between and the repository which contains both commits |
---|---|
pageRequest | the start and limit for the page being requested |
Retrieves changesets for each of the requested getCommitIds()
commits}, including the
first page of changes between each commit and its first parent.
If the page size
is less than the size of the collection of IDs, a subset of the
collection will be returned. Otherwise, changesets for all IDs in the requested collection are returned.
request | request parameters, specifying the repository and the desired commits |
---|---|
pageRequest | the start and limit of the page being request |
NoSuchCommitException | if ignoreMissing is not set and any
of the requested commits cannot be found
|
---|
Retrieves a the specified comment by its ID
.
repository | the ID of the repository containing the commit |
---|---|
commitId | the ID of the commit within the repository |
commentId | the ID of the comment to retrieve |
NoSuchCommentException | if no comment exists with the specified ID |
---|
Retrieves a commit based on te provided request
.
If only a commit ID
is specified, that commit will be returned if it exists.
If a path
is also provided, the first commit starting from the specified
commit ID which modifies that path is returned. If the specified commit does not exist, or if no commit in the
ancestry of that commit modifies the specified path, a NoSuchCommitException
is thrown.
When retrieving a commit, extra properties
can also be loaded.
Properties are metadata associated with commits by CommitIndexer
s. Until 4.0, the extra properties
requested also control the attributes that are loaded. Attributes will be removed in 4.0.
request | describes the commit to retrieve, and the repository to retrieve it from |
---|
NoSuchCommitException | if no matching commit can be found |
---|
Retrieves a page of commits, starting from a given branch, tag or commit, optionally filtered to only return
commits which modify one or more paths. Commits are returned starting from (and including) the specified
getCommitId()
, unless one or more paths
are provided.
Then the first commit returned, if any are returned, will be the first commit in the ancestry of the specified
starting commit which modifies at least one of the specified files.
This service call may be used to:
When retrieving commits, extra properties
can also be loaded.
Properties are metadata associated with commits by CommitIndexer
s. Until 4.0, the extra properties
requested also control the attributes that are loaded. Attributes will be removed in 4.0.
Note: If any of the provided paths is renamed at some point in its history, commits will not follow the path across the rename. In other words, only commits for exact paths provided will be included.
request | describes the commits to retrieve, and the repository to retrieve them from |
---|---|
pageRequest | the start and limit for the page being requested |
null
Retrieves a page of commits between the included commits
and the
excluded commits
. Included and excluded commits may be specified
by branch or tag name or by commit ID. The commits returned are those which are reachable an included commit
and not reachable from any excluded commit. While this may imply an ancestral relationship between included
and excluded IDs, that is not strictly required. When the IDs are unrelated, all commits reachable from the
included commits are candidates for the returned page, and excluded commits are effectively ignored. One or
more paths may be provided to further narrow the results, restricting the returned commits to only which modify
one or more of the specified paths.
Which commits are included and which are excluded is important here. Consider the following example:
---- A ---- B ---- C \ \ FA1 ---- FA2 ---- FA3If "master" is excluded and "feature-A" is included, commits FA1, FA2 and FA3 will be returned because they are reachable from "feature-A" but not from "master". If the two IDs were reversed, commits B and C would be returned, because they are reachable from "master" but not from "feature-A". This approach of swapping includes and excludes can be used to determine how two branches have diverged over time.
When retrieving commits, extra properties
can also be loaded.
Properties are metadata associated with commits by CommitIndexer
s. Until 4.0, the extra properties
requested also control the attributes that are loaded. Attributes will be removed in 4.0.
Warning: Commits specified using branch or tag names will be resolved against the primary
repository
. When retrieving commits between repositories,
commits in the secondary repository
may only be
specified by commit ID. This means requesting a page like this will not work:
CommitsBetweenRequest request = new CommitsBetweenRequest.Builder(repository)
.exclude("master")
.include("master")
.secondaryRepository(forkOfRepository)
.build();
Page<Commit> page = commitService.getCommitsBetween(request, PageUtils.newRequest(0, 25));
The returned page will always be empty because "master" was resolved on both sides using the same repository,
producing the same commit to include and exclude. This also demonstrates that excludes take precedence
over includes, as one might expect.request | describes the commits to include/exclude, paths to filter by and which repository, or repositories, contain the commits |
---|---|
pageRequest | the start and limit for the page being requested |
Streams changes between the until
and since
commits. If the since
commit is not specified, the
until
commit's first parent is used automatically.
Note: The implementation will apply a hard cap (page.max.changes
) and it is not
possible to request subsequent content when that cap is exceeded.
request | describes the two commits to retrieve changes between and the repository which contains both commits |
---|---|
callback | the callback for receiving the changes |
Streams commits, starting from a given branch, tag or commit, optionally filtered to only include commits which
modify one or more paths. Commits are streamed starting from (and including) the specified
getCommitId()
, unless one or more paths
are provided.
Then the first commit streamed, if any are, will be the first commit in the ancestry of the specified starting
commit which modifies at least one of the specified files.
This service call may be used to:
When streaming commits, extra properties
can also be loaded.
Properties are metadata associated with commits by CommitIndexer
s. Until 4.0, the extra properties
requested also control the attributes that are loaded. Attributes will be removed in 4.0.
Note: If any of the provided paths is renamed at some point in its history, commits will not follow the path across the rename. In other words, only commits for exact paths provided will be included.
request | describes the commits to stream, and the repository to stream them from |
---|---|
callback | a callback to receive the commits |
Streams commits between the included commits
and the
excluded commits
.
This method promises to call onStart(CommitContext)
on the supplied callback exactly once,
followed by zero or more calls to onCommit(Commit)
, one for each commit to be streamed
(until onCommit(...)
returns false
or there are no more commits),
followed by exactly one call to onEnd(CommitSummary)
.
See getCommitsBetween(...)
for a
description of the semantics of the commits returned.
request | describes the commits to include/exclude, paths to filter by and which repository, or repositories, contain the commits |
---|---|
callback | a callback to receive the commits |
Streams diff output for the specified paths
at the specified commit.
Note: This interface is currently not paged. The implementation will apply a hard cap
(page.max.diff.lines
) and it is not possible to request subsequent content when that cap is exceeded.
request | the repository, starting and terminating changsets, paths to filter |
---|---|
callback | the callback for receiving the diff details |
Traverse the graph of commits in topological order, optionally supplying included commits to start from and excluded commits to ignore.
request | the traversal request describing the repository and the commits to include and exclude |
---|---|
callback | the callback to receive the traversed commits |
Removes the current user as a watcher for the specified commit, which will prevent further notifications from being dispatched to that user.
repository | the ID of the repository containing the commit |
---|---|
commitId | the ID of the commit within the repository |
true
if the watcher existed (and thus was removed); otherwise false
Updates the text
for the specified comment.
repository | the ID of the repository containing the commit |
---|---|
commitId | the ID of the commit within the repository |
commentId | the ID of the comment to update |
commentVersion | the expected version of the comment |
commentText | the new text for the comment |
CommentOutOfDateException | if the version of the specified comment does not match the expected version |
---|---|
NoSuchCommentException | if no comment exists with the specified ID |
Adds the current user as a watcher for the specified commit. Watchers receive notifications when new comments are added to the commit.
repository | the ID of the repository containing the commit |
---|---|
commitId | the ID of the commit within the repository |