Add 'is:merge' operator to find changes which are merge commits

This change introduces a new index schema version and reindexing the
changes is required.

Change-Id: If800fce63f6d45419b46e5e624f6872ca3feaba3
This commit is contained in:
Saša Živkov
2015-11-04 15:12:34 +01:00
parent 49f32d5373
commit 71fd998560
6 changed files with 64 additions and 0 deletions

View File

@@ -2124,6 +2124,29 @@ public abstract class AbstractQueryChangesTest extends GerritServerTests {
assertQuery("status:open -is:mergeable", change2);
}
@Test
public void merge() throws Exception {
assume().that(getSchema().hasField(ChangeField.MERGE)).isTrue();
TestRepository<Repo> repo = createProject("repo");
RevCommit commit1 = repo.parseBody(repo.commit().add("file1", "contents1").create());
RevCommit commit2 = repo.parseBody(repo.commit().add("file1", "contents2").create());
Change change1 = insert(repo, newChangeForCommit(repo, commit1));
Change change2 = insert(repo, newChangeForCommit(repo, commit2));
RevCommit mergeCommit =
repo.branch("master")
.commit()
.message("Merge commit")
.parent(commit1)
.parent(commit2)
.insertChangeId()
.create();
Change mergeChange = insert(repo, newChangeForCommit(repo, mergeCommit));
assertQuery("status:open is:merge", mergeChange);
assertQuery("status:open -is:merge", change2, change1);
assertQuery("status:open", mergeChange, change2, change1);
}
@Test
public void reviewedBy() throws Exception {
resetTimeWithClockStep(2, MINUTES);