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

@@ -206,6 +206,11 @@ public class PushOneCommit {
}
}
public void setParent(RevCommit parent) throws Exception {
commitBuilder.noParents();
commitBuilder.parent(parent);
}
public Result to(String ref) throws Exception {
commitBuilder.add(fileName, content);
return execute(ref);