Add merge feature into /changes REST endpoint

Allow user to create a merge in Gerrit via POST /changes REST API.
By adding a "merge" attribute which could be a SHA1, a branch name or a
tag name, etc. in the post JSON, gerrit will create a merge commit
instead of an empty commit. If there are conflicts, the response will
be rejected with a MergeConfictException which contains conflict
message.

Add dry run end point into GET
/projects/{project}/branches/{branch}/mergeable with query parameters
source (required) and strategy (optional) and return a
MergeableInfo entity.

Change-Id: I8f45f324704b3ff3eb20cb57c6e3bd75f2bf60ef
This commit is contained in:
Zhen Chen
2016-05-02 15:14:43 -07:00
parent 10c815d2e1
commit f7d85ea916
13 changed files with 441 additions and 42 deletions

View File

@@ -68,6 +68,7 @@ public class Module extends RestApiModule {
delete(BRANCH_KIND).to(DeleteBranch.class);
post(PROJECT_KIND, "branches:delete").to(DeleteBranches.class);
factory(CreateBranch.Factory.class);
get(BRANCH_KIND, "mergeable").to(CheckMergeability.class);
get(BRANCH_KIND, "reflog").to(GetReflog.class);
child(BRANCH_KIND, "files").to(FilesCollection.class);
get(FILE_KIND, "content").to(GetContent.class);