Inline AbstractDaemonTest#getRemoteHead
The ProjectOperations API is designed to be readable. It's slightly more verbose, but looking at the actual call sites, we can live with it. Change-Id: Iccd122f261f3667d481e70e180215e634d5dfa2a
This commit is contained in:
@@ -959,15 +959,6 @@ public abstract class AbstractDaemonTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(hanwen): push this down.
|
|
||||||
protected RevCommit getRemoteHead(Project.NameKey project, String branch) throws Exception {
|
|
||||||
return projectOperations.project(project).getHead(branch);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected RevCommit getRemoteHead() throws Exception {
|
|
||||||
return getRemoteHead(project, "master");
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void assertMailReplyTo(Message message, String email) throws Exception {
|
protected void assertMailReplyTo(Message message, String email) throws Exception {
|
||||||
assertThat(message.headers()).containsKey("Reply-To");
|
assertThat(message.headers()).containsKey("Reply-To");
|
||||||
EmailHeader.String replyTo = (EmailHeader.String) message.headers().get("Reply-To");
|
EmailHeader.String replyTo = (EmailHeader.String) message.headers().get("Reply-To");
|
||||||
|
|||||||
@@ -422,8 +422,10 @@ public class AccountIT extends AbstractDaemonTest {
|
|||||||
List<EmailInfo> emails = gApi.accounts().id(accountId.get()).getEmails();
|
List<EmailInfo> emails = gApi.accounts().id(accountId.get()).getEmails();
|
||||||
assertThat(emails.stream().map(e -> e.email).collect(toSet())).containsExactly(extId.email());
|
assertThat(emails.stream().map(e -> e.email).collect(toSet())).containsExactly(extId.email());
|
||||||
|
|
||||||
RevCommit commitUserBranch = getRemoteHead(allUsers, RefNames.refsUsers(accountId));
|
RevCommit commitUserBranch =
|
||||||
RevCommit commitRefsMetaExternalIds = getRemoteHead(allUsers, RefNames.REFS_EXTERNAL_IDS);
|
projectOperations.project(allUsers).getHead(RefNames.refsUsers(accountId));
|
||||||
|
RevCommit commitRefsMetaExternalIds =
|
||||||
|
projectOperations.project(allUsers).getHead(RefNames.REFS_EXTERNAL_IDS);
|
||||||
assertThat(commitUserBranch.getCommitTime())
|
assertThat(commitUserBranch.getCommitTime())
|
||||||
.isEqualTo(commitRefsMetaExternalIds.getCommitTime());
|
.isEqualTo(commitRefsMetaExternalIds.getCommitTime());
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@@ -3182,7 +3182,7 @@ public class ChangeIT extends AbstractDaemonTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void createMergePatchSetCannotBaseOnInvisibleChange() throws Exception {
|
public void createMergePatchSetCannotBaseOnInvisibleChange() throws Exception {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
createBranch("foo");
|
createBranch("foo");
|
||||||
createBranch("bar");
|
createBranch("bar");
|
||||||
|
|
||||||
@@ -3211,7 +3211,7 @@ public class ChangeIT extends AbstractDaemonTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void createMergePatchSetBaseOnChange() throws Exception {
|
public void createMergePatchSetBaseOnChange() throws Exception {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
createBranch("foo");
|
createBranch("foo");
|
||||||
createBranch("bar");
|
createBranch("bar");
|
||||||
|
|
||||||
@@ -3379,7 +3379,7 @@ public class ChangeIT extends AbstractDaemonTest {
|
|||||||
@Test
|
@Test
|
||||||
public void checkLabelsForMergedChangeWithNonAuthorCodeReview() throws Exception {
|
public void checkLabelsForMergedChangeWithNonAuthorCodeReview() throws Exception {
|
||||||
// Configure Non-Author-Code-Review
|
// Configure Non-Author-Code-Review
|
||||||
RevCommit oldHead = getRemoteHead();
|
RevCommit oldHead = projectOperations.project(project).getHead("master");
|
||||||
GitUtil.fetch(testRepo, RefNames.REFS_CONFIG + ":config");
|
GitUtil.fetch(testRepo, RefNames.REFS_CONFIG + ":config");
|
||||||
testRepo.reset("config");
|
testRepo.reset("config");
|
||||||
PushOneCommit push2 =
|
PushOneCommit push2 =
|
||||||
@@ -3574,7 +3574,7 @@ public class ChangeIT extends AbstractDaemonTest {
|
|||||||
+ "U > 0,"
|
+ "U > 0,"
|
||||||
+ "R = label('All-Comments-Resolved', need(_)). \n\n");
|
+ "R = label('All-Comments-Resolved', need(_)). \n\n");
|
||||||
|
|
||||||
String oldHead = getRemoteHead().name();
|
String oldHead = projectOperations.project(project).getHead("master").name();
|
||||||
PushOneCommit.Result result1 =
|
PushOneCommit.Result result1 =
|
||||||
pushFactory.create(user.newIdent(), testRepo).to("refs/for/master");
|
pushFactory.create(user.newIdent(), testRepo).to("refs/for/master");
|
||||||
testRepo.reset(oldHead);
|
testRepo.reset(oldHead);
|
||||||
@@ -3830,7 +3830,8 @@ public class ChangeIT extends AbstractDaemonTest {
|
|||||||
assertThat(
|
assertThat(
|
||||||
gApi.changes()
|
gApi.changes()
|
||||||
.id(revertId)
|
.id(revertId)
|
||||||
.pureRevert(getRemoteHead().toObjectId().name())
|
.pureRevert(
|
||||||
|
projectOperations.project(project).getHead("master").toObjectId().name())
|
||||||
.isPureRevert)
|
.isPureRevert)
|
||||||
.isTrue();
|
.isTrue();
|
||||||
}
|
}
|
||||||
@@ -3853,7 +3854,7 @@ public class ChangeIT extends AbstractDaemonTest {
|
|||||||
public void pureRevertParameterTakesPrecedence() throws Exception {
|
public void pureRevertParameterTakesPrecedence() throws Exception {
|
||||||
PushOneCommit.Result r1 = createChange("commit message", "a.txt", "content1");
|
PushOneCommit.Result r1 = createChange("commit message", "a.txt", "content1");
|
||||||
merge(r1);
|
merge(r1);
|
||||||
String oldHead = getRemoteHead().toObjectId().name();
|
String oldHead = projectOperations.project(project).getHead("master").toObjectId().name();
|
||||||
|
|
||||||
PushOneCommit.Result r2 = createChange("commit message", "a.txt", "content2");
|
PushOneCommit.Result r2 = createChange("commit message", "a.txt", "content2");
|
||||||
merge(r2);
|
merge(r2);
|
||||||
@@ -3896,7 +3897,8 @@ public class ChangeIT extends AbstractDaemonTest {
|
|||||||
// Create an initial commit to serve as claimed original
|
// Create an initial commit to serve as claimed original
|
||||||
PushOneCommit.Result r1 = createChange("commit message", "a.txt", "content1");
|
PushOneCommit.Result r1 = createChange("commit message", "a.txt", "content1");
|
||||||
merge(r1);
|
merge(r1);
|
||||||
String claimedOriginal = getRemoteHead().toObjectId().name();
|
String claimedOriginal =
|
||||||
|
projectOperations.project(project).getHead("master").toObjectId().name();
|
||||||
|
|
||||||
// Change contents of the file to provoke a conflict
|
// Change contents of the file to provoke a conflict
|
||||||
merge(createChange("commit message", "a.txt", "content2"));
|
merge(createChange("commit message", "a.txt", "content2"));
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ public class DisablePrivateChangesIT extends AbstractDaemonTest {
|
|||||||
@GerritConfig(name = "change.allowDrafts", value = "true")
|
@GerritConfig(name = "change.allowDrafts", value = "true")
|
||||||
@GerritConfig(name = "change.disablePrivateChanges", value = "true")
|
@GerritConfig(name = "change.disablePrivateChanges", value = "true")
|
||||||
public void pushDraftsWithDisablePrivateChangesTrue() throws Exception {
|
public void pushDraftsWithDisablePrivateChangesTrue() throws Exception {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result result =
|
PushOneCommit.Result result =
|
||||||
pushFactory.create(admin.newIdent(), testRepo).to("refs/for/master%draft");
|
pushFactory.create(admin.newIdent(), testRepo).to("refs/for/master%draft");
|
||||||
result.assertErrorStatus();
|
result.assertErrorStatus();
|
||||||
@@ -93,7 +93,7 @@ public class DisablePrivateChangesIT extends AbstractDaemonTest {
|
|||||||
@Test
|
@Test
|
||||||
@GerritConfig(name = "change.allowDrafts", value = "true")
|
@GerritConfig(name = "change.allowDrafts", value = "true")
|
||||||
public void pushDraftsWithDisablePrivateChangesFalse() throws Exception {
|
public void pushDraftsWithDisablePrivateChangesFalse() throws Exception {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result result =
|
PushOneCommit.Result result =
|
||||||
pushFactory.create(admin.newIdent(), testRepo).to("refs/for/master%draft");
|
pushFactory.create(admin.newIdent(), testRepo).to("refs/for/master%draft");
|
||||||
assertThat(result.getChange().change().isPrivate()).isTrue();
|
assertThat(result.getChange().change().isPrivate()).isTrue();
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ public class StickyApprovalsIT extends AbstractDaemonTest {
|
|||||||
|
|
||||||
for (ChangeKind changeKind :
|
for (ChangeKind changeKind :
|
||||||
EnumSet.of(REWORK, TRIVIAL_REBASE, NO_CODE_CHANGE, MERGE_FIRST_PARENT_UPDATE, NO_CHANGE)) {
|
EnumSet.of(REWORK, TRIVIAL_REBASE, NO_CODE_CHANGE, MERGE_FIRST_PARENT_UPDATE, NO_CHANGE)) {
|
||||||
testRepo.reset(getRemoteHead());
|
testRepo.reset(projectOperations.project(project).getHead("master"));
|
||||||
|
|
||||||
String changeId = createChange(changeKind);
|
String changeId = createChange(changeKind);
|
||||||
vote(admin, changeId, -1, 1);
|
vote(admin, changeId, -1, 1);
|
||||||
@@ -142,7 +142,7 @@ public class StickyApprovalsIT extends AbstractDaemonTest {
|
|||||||
|
|
||||||
for (ChangeKind changeKind :
|
for (ChangeKind changeKind :
|
||||||
EnumSet.of(REWORK, TRIVIAL_REBASE, NO_CODE_CHANGE, MERGE_FIRST_PARENT_UPDATE, NO_CHANGE)) {
|
EnumSet.of(REWORK, TRIVIAL_REBASE, NO_CODE_CHANGE, MERGE_FIRST_PARENT_UPDATE, NO_CHANGE)) {
|
||||||
testRepo.reset(getRemoteHead());
|
testRepo.reset(projectOperations.project(project).getHead("master"));
|
||||||
|
|
||||||
String changeId = createChange(changeKind);
|
String changeId = createChange(changeKind);
|
||||||
vote(admin, changeId, 2, 1);
|
vote(admin, changeId, 2, 1);
|
||||||
@@ -179,7 +179,7 @@ public class StickyApprovalsIT extends AbstractDaemonTest {
|
|||||||
assertNotSticky(EnumSet.of(REWORK, NO_CODE_CHANGE, MERGE_FIRST_PARENT_UPDATE));
|
assertNotSticky(EnumSet.of(REWORK, NO_CODE_CHANGE, MERGE_FIRST_PARENT_UPDATE));
|
||||||
|
|
||||||
// check that votes are sticky when trivial rebase is done by cherry-pick
|
// check that votes are sticky when trivial rebase is done by cherry-pick
|
||||||
testRepo.reset(getRemoteHead());
|
testRepo.reset(projectOperations.project(project).getHead("master"));
|
||||||
changeId = createChange().getChangeId();
|
changeId = createChange().getChangeId();
|
||||||
vote(admin, changeId, 2, 1);
|
vote(admin, changeId, 2, 1);
|
||||||
vote(user, changeId, -2, -1);
|
vote(user, changeId, -2, -1);
|
||||||
@@ -190,7 +190,7 @@ public class StickyApprovalsIT extends AbstractDaemonTest {
|
|||||||
assertVotes(c, user, -2, 0);
|
assertVotes(c, user, -2, 0);
|
||||||
|
|
||||||
// check that votes are not sticky when rework is done by cherry-pick
|
// check that votes are not sticky when rework is done by cherry-pick
|
||||||
testRepo.reset(getRemoteHead());
|
testRepo.reset(projectOperations.project(project).getHead("master"));
|
||||||
changeId = createChange().getChangeId();
|
changeId = createChange().getChangeId();
|
||||||
vote(admin, changeId, 2, 1);
|
vote(admin, changeId, 2, 1);
|
||||||
vote(user, changeId, -2, -1);
|
vote(user, changeId, -2, -1);
|
||||||
@@ -262,7 +262,7 @@ public class StickyApprovalsIT extends AbstractDaemonTest {
|
|||||||
|
|
||||||
for (ChangeKind changeKind :
|
for (ChangeKind changeKind :
|
||||||
EnumSet.of(REWORK, TRIVIAL_REBASE, NO_CODE_CHANGE, MERGE_FIRST_PARENT_UPDATE, NO_CHANGE)) {
|
EnumSet.of(REWORK, TRIVIAL_REBASE, NO_CODE_CHANGE, MERGE_FIRST_PARENT_UPDATE, NO_CHANGE)) {
|
||||||
testRepo.reset(getRemoteHead());
|
testRepo.reset(projectOperations.project(project).getHead("master"));
|
||||||
|
|
||||||
String changeId = createChange(changeKind);
|
String changeId = createChange(changeKind);
|
||||||
vote(admin, changeId, 2, 1);
|
vote(admin, changeId, 2, 1);
|
||||||
@@ -370,7 +370,7 @@ public class StickyApprovalsIT extends AbstractDaemonTest {
|
|||||||
|
|
||||||
private void assertNotSticky(Set<ChangeKind> changeKinds) throws Exception {
|
private void assertNotSticky(Set<ChangeKind> changeKinds) throws Exception {
|
||||||
for (ChangeKind changeKind : changeKinds) {
|
for (ChangeKind changeKind : changeKinds) {
|
||||||
testRepo.reset(getRemoteHead());
|
testRepo.reset(projectOperations.project(project).getHead("master"));
|
||||||
|
|
||||||
String changeId = createChange(changeKind);
|
String changeId = createChange(changeKind);
|
||||||
vote(admin, changeId, +2, 1);
|
vote(admin, changeId, +2, 1);
|
||||||
@@ -461,7 +461,7 @@ public class StickyApprovalsIT extends AbstractDaemonTest {
|
|||||||
|
|
||||||
private void trivialRebase(String changeId) throws Exception {
|
private void trivialRebase(String changeId) throws Exception {
|
||||||
requestScopeOperations.setApiUser(admin.id());
|
requestScopeOperations.setApiUser(admin.id());
|
||||||
testRepo.reset(getRemoteHead());
|
testRepo.reset(projectOperations.project(project).getHead("master"));
|
||||||
PushOneCommit push =
|
PushOneCommit push =
|
||||||
pushFactory.create(
|
pushFactory.create(
|
||||||
admin.newIdent(),
|
admin.newIdent(),
|
||||||
@@ -527,7 +527,7 @@ public class StickyApprovalsIT extends AbstractDaemonTest {
|
|||||||
assert_().fail("unexpected change kind: " + changeKind);
|
assert_().fail("unexpected change kind: " + changeKind);
|
||||||
}
|
}
|
||||||
|
|
||||||
testRepo.reset(getRemoteHead());
|
testRepo.reset(projectOperations.project(project).getHead("master"));
|
||||||
PushOneCommit.Result r =
|
PushOneCommit.Result r =
|
||||||
pushFactory
|
pushFactory
|
||||||
.create(
|
.create(
|
||||||
|
|||||||
@@ -262,14 +262,14 @@ public class ProjectIT extends AbstractDaemonTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void descriptionChangeCausesRefUpdate() throws Exception {
|
public void descriptionChangeCausesRefUpdate() throws Exception {
|
||||||
RevCommit initialHead = getRemoteHead(project, RefNames.REFS_CONFIG);
|
RevCommit initialHead = projectOperations.project(project).getHead(RefNames.REFS_CONFIG);
|
||||||
assertThat(gApi.projects().name(project.get()).description()).isEmpty();
|
assertThat(gApi.projects().name(project.get()).description()).isEmpty();
|
||||||
DescriptionInput in = new DescriptionInput();
|
DescriptionInput in = new DescriptionInput();
|
||||||
in.description = "new project description";
|
in.description = "new project description";
|
||||||
gApi.projects().name(project.get()).description(in);
|
gApi.projects().name(project.get()).description(in);
|
||||||
assertThat(gApi.projects().name(project.get()).description()).isEqualTo(in.description);
|
assertThat(gApi.projects().name(project.get()).description()).isEqualTo(in.description);
|
||||||
|
|
||||||
RevCommit updatedHead = getRemoteHead(project, RefNames.REFS_CONFIG);
|
RevCommit updatedHead = projectOperations.project(project).getHead(RefNames.REFS_CONFIG);
|
||||||
eventRecorder.assertRefUpdatedEvents(
|
eventRecorder.assertRefUpdatedEvents(
|
||||||
project.get(), RefNames.REFS_CONFIG, initialHead, updatedHead);
|
project.get(), RefNames.REFS_CONFIG, initialHead, updatedHead);
|
||||||
}
|
}
|
||||||
@@ -288,7 +288,7 @@ public class ProjectIT extends AbstractDaemonTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void configChangeCausesRefUpdate() throws Exception {
|
public void configChangeCausesRefUpdate() throws Exception {
|
||||||
RevCommit initialHead = getRemoteHead(project, RefNames.REFS_CONFIG);
|
RevCommit initialHead = projectOperations.project(project).getHead(RefNames.REFS_CONFIG);
|
||||||
|
|
||||||
ConfigInfo info = gApi.projects().name(project.get()).config();
|
ConfigInfo info = gApi.projects().name(project.get()).config();
|
||||||
assertThat(info.defaultSubmitType.value).isEqualTo(SubmitType.MERGE_IF_NECESSARY);
|
assertThat(info.defaultSubmitType.value).isEqualTo(SubmitType.MERGE_IF_NECESSARY);
|
||||||
@@ -299,7 +299,7 @@ public class ProjectIT extends AbstractDaemonTest {
|
|||||||
info = gApi.projects().name(project.get()).config();
|
info = gApi.projects().name(project.get()).config();
|
||||||
assertThat(info.defaultSubmitType.value).isEqualTo(SubmitType.CHERRY_PICK);
|
assertThat(info.defaultSubmitType.value).isEqualTo(SubmitType.CHERRY_PICK);
|
||||||
|
|
||||||
RevCommit updatedHead = getRemoteHead(project, RefNames.REFS_CONFIG);
|
RevCommit updatedHead = projectOperations.project(project).getHead(RefNames.REFS_CONFIG);
|
||||||
eventRecorder.assertRefUpdatedEvents(
|
eventRecorder.assertRefUpdatedEvents(
|
||||||
project.get(), RefNames.REFS_CONFIG, initialHead, updatedHead);
|
project.get(), RefNames.REFS_CONFIG, initialHead, updatedHead);
|
||||||
}
|
}
|
||||||
@@ -741,7 +741,7 @@ public class ProjectIT extends AbstractDaemonTest {
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
protected RevCommit getRemoteHead(String project, String branch) throws Exception {
|
protected RevCommit getRemoteHead(String project, String branch) throws Exception {
|
||||||
return getRemoteHead(Project.nameKey(project), branch);
|
return projectOperations.project(Project.nameKey(project)).getHead(branch);
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean hasHead(Project.NameKey k, String b) {
|
boolean hasHead(Project.NameKey k, String b) {
|
||||||
|
|||||||
@@ -563,7 +563,7 @@ public class RevisionIT extends AbstractDaemonTest {
|
|||||||
ByteArrayOutputStream os = new ByteArrayOutputStream();
|
ByteArrayOutputStream os = new ByteArrayOutputStream();
|
||||||
bin.writeTo(os);
|
bin.writeTo(os);
|
||||||
String fileContent = new String(os.toByteArray(), UTF_8);
|
String fileContent = new String(os.toByteArray(), UTF_8);
|
||||||
String destSha1 = abbreviateName(getRemoteHead(project, destBranch), 6);
|
String destSha1 = abbreviateName(projectOperations.project(project).getHead(destBranch), 6);
|
||||||
String changeSha1 = abbreviateName(r.getCommit(), 6);
|
String changeSha1 = abbreviateName(r.getCommit(), 6);
|
||||||
assertThat(fileContent)
|
assertThat(fileContent)
|
||||||
.isEqualTo(
|
.isEqualTo(
|
||||||
|
|||||||
@@ -204,7 +204,7 @@ public class SubmitOnPushIT extends AbstractDaemonTest {
|
|||||||
.add(allow(Permission.CREATE).ref(other).group(adminGroupUuid()))
|
.add(allow(Permission.CREATE).ref(other).group(adminGroupUuid()))
|
||||||
.add(allow(Permission.PUSH).ref(other).group(adminGroupUuid()))
|
.add(allow(Permission.PUSH).ref(other).group(adminGroupUuid()))
|
||||||
.update();
|
.update();
|
||||||
RevCommit masterRev = getRemoteHead();
|
RevCommit masterRev = projectOperations.project(project).getHead("master");
|
||||||
pushCommitTo(masterRev, other);
|
pushCommitTo(masterRev, other);
|
||||||
PushOneCommit.Result r = createChange();
|
PushOneCommit.Result r = createChange();
|
||||||
r.assertOkStatus();
|
r.assertOkStatus();
|
||||||
@@ -314,7 +314,7 @@ public class SubmitOnPushIT extends AbstractDaemonTest {
|
|||||||
.update();
|
.update();
|
||||||
|
|
||||||
// Create 2 changes.
|
// Create 2 changes.
|
||||||
ObjectId initialHead = getRemoteHead();
|
ObjectId initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result r1 = createChange("Change 1", "a", "a");
|
PushOneCommit.Result r1 = createChange("Change 1", "a", "a");
|
||||||
r1.assertOkStatus();
|
r1.assertOkStatus();
|
||||||
PushOneCommit.Result r2 = createChange("Change 2", "b", "b");
|
PushOneCommit.Result r2 = createChange("Change 2", "b", "b");
|
||||||
|
|||||||
@@ -401,7 +401,7 @@ public class SubmoduleSubscriptionsWholeTopicMergeIT extends AbstractSubmoduleSu
|
|||||||
gApi.changes().id(subChangeId).current().submit();
|
gApi.changes().id(subChangeId).current().submit();
|
||||||
|
|
||||||
expectToHaveSubmoduleState(superRepo, "master", subKey, subRepo, "master");
|
expectToHaveSubmoduleState(superRepo, "master", subKey, subRepo, "master");
|
||||||
RevCommit superHead = getRemoteHead(superKey, "master");
|
RevCommit superHead = projectOperations.project(superKey).getHead("master");
|
||||||
assertThat(superHead.getShortMessage()).contains("some message");
|
assertThat(superHead.getShortMessage()).contains("some message");
|
||||||
assertThat(superHead.getId()).isNotEqualTo(superId);
|
assertThat(superHead.getId()).isNotEqualTo(superId);
|
||||||
}
|
}
|
||||||
@@ -435,7 +435,7 @@ public class SubmoduleSubscriptionsWholeTopicMergeIT extends AbstractSubmoduleSu
|
|||||||
|
|
||||||
gApi.changes().id(subChangeId).current().submit();
|
gApi.changes().id(subChangeId).current().submit();
|
||||||
|
|
||||||
RevCommit superHead = getRemoteHead(superKey, "master");
|
RevCommit superHead = projectOperations.project(superKey).getHead("master");
|
||||||
assertThat(superHead.getShortMessage()).isEqualTo("some message");
|
assertThat(superHead.getShortMessage()).isEqualTo("some message");
|
||||||
assertThat(superHead.getId()).isEqualTo(superId);
|
assertThat(superHead.getId()).isEqualTo(superId);
|
||||||
}
|
}
|
||||||
@@ -751,13 +751,13 @@ public class SubmoduleSubscriptionsWholeTopicMergeIT extends AbstractSubmoduleSu
|
|||||||
approve(getChangeId(repoB, bDevHead).get());
|
approve(getChangeId(repoB, bDevHead).get());
|
||||||
|
|
||||||
gApi.changes().id(getChangeId(repoA, aDevHead).get()).current().submit();
|
gApi.changes().id(getChangeId(repoA, aDevHead).get()).current().submit();
|
||||||
assertThat(getRemoteHead(keyA, "refs/heads/master").getShortMessage())
|
assertThat(projectOperations.project(keyA).getHead("refs/heads/master").getShortMessage())
|
||||||
.contains("some message in a master.txt");
|
.contains("some message in a master.txt");
|
||||||
assertThat(getRemoteHead(keyA, "refs/heads/dev").getShortMessage())
|
assertThat(projectOperations.project(keyA).getHead("refs/heads/dev").getShortMessage())
|
||||||
.contains("some message in a dev.txt");
|
.contains("some message in a dev.txt");
|
||||||
assertThat(getRemoteHead(keyB, "refs/heads/master").getShortMessage())
|
assertThat(projectOperations.project(keyB).getHead("refs/heads/master").getShortMessage())
|
||||||
.contains("some message in b master.txt");
|
.contains("some message in b master.txt");
|
||||||
assertThat(getRemoteHead(keyB, "refs/heads/dev").getShortMessage())
|
assertThat(projectOperations.project(keyB).getHead("refs/heads/dev").getShortMessage())
|
||||||
.contains("some message in b dev.txt");
|
.contains("some message in b dev.txt");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -850,13 +850,13 @@ public class SubmoduleSubscriptionsWholeTopicMergeIT extends AbstractSubmoduleSu
|
|||||||
|
|
||||||
sub1.git().fetch().call();
|
sub1.git().fetch().call();
|
||||||
RevWalk rw1 = sub1.getRevWalk();
|
RevWalk rw1 = sub1.getRevWalk();
|
||||||
RevCommit master1 = rw1.parseCommit(getRemoteHead(subKey1, "master"));
|
RevCommit master1 = rw1.parseCommit(projectOperations.project(subKey1).getHead("master"));
|
||||||
RevCommit change1Ps = parseCurrentRevision(rw1, changeId1);
|
RevCommit change1Ps = parseCurrentRevision(rw1, changeId1);
|
||||||
assertThat(rw1.isMergedInto(change1Ps, master1)).isTrue();
|
assertThat(rw1.isMergedInto(change1Ps, master1)).isTrue();
|
||||||
|
|
||||||
sub2.git().fetch().call();
|
sub2.git().fetch().call();
|
||||||
RevWalk rw2 = sub2.getRevWalk();
|
RevWalk rw2 = sub2.getRevWalk();
|
||||||
RevCommit master2 = rw2.parseCommit(getRemoteHead(subKey2, "master"));
|
RevCommit master2 = rw2.parseCommit(projectOperations.project(subKey2).getHead("master"));
|
||||||
RevCommit change2Ps = parseCurrentRevision(rw2, changeId2);
|
RevCommit change2Ps = parseCurrentRevision(rw2, changeId2);
|
||||||
assertThat(rw2.isMergedInto(change2Ps, master2)).isTrue();
|
assertThat(rw2.isMergedInto(change2Ps, master2)).isTrue();
|
||||||
|
|
||||||
|
|||||||
@@ -217,7 +217,7 @@ public class ProjectsRestApiBindingsIT extends AbstractDaemonTest {
|
|||||||
testRepo
|
testRepo
|
||||||
.commit()
|
.commit()
|
||||||
.message("A change")
|
.message("A change")
|
||||||
.parent(getRemoteHead())
|
.parent(projectOperations.project(project).getHead("master"))
|
||||||
.add(filename, "content")
|
.add(filename, "content")
|
||||||
.insertChangeId()
|
.insertChangeId()
|
||||||
.create();
|
.create();
|
||||||
|
|||||||
@@ -164,16 +164,17 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
assertThat(actual).hasSize(1);
|
assertThat(actual).hasSize(1);
|
||||||
|
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
assertThat(getRemoteHead().getId()).isEqualTo(change.getCommit());
|
assertThat(projectOperations.project(project).getHead("master").getId())
|
||||||
|
.isEqualTo(change.getCommit());
|
||||||
assertTrees(project, actual);
|
assertTrees(project, actual);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitSingleChange() throws Throwable {
|
public void submitSingleChange() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change = createChange();
|
PushOneCommit.Result change = createChange();
|
||||||
Map<BranchNameKey, ObjectId> actual = fetchFromSubmitPreview(change.getChangeId());
|
Map<BranchNameKey, ObjectId> actual = fetchFromSubmitPreview(change.getChangeId());
|
||||||
RevCommit headAfterSubmit = getRemoteHead();
|
RevCommit headAfterSubmit = projectOperations.project(project).getHead("master");
|
||||||
assertThat(headAfterSubmit).isEqualTo(initialHead);
|
assertThat(headAfterSubmit).isEqualTo(initialHead);
|
||||||
assertRefUpdatedEvents();
|
assertRefUpdatedEvents();
|
||||||
assertChangeMergedEvents();
|
assertChangeMergedEvents();
|
||||||
@@ -192,12 +193,12 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitMultipleChangesOtherMergeConflictPreview() throws Throwable {
|
public void submitMultipleChangesOtherMergeConflictPreview() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
PushOneCommit.Result change = createChange("Change 1", "a.txt", "content");
|
PushOneCommit.Result change = createChange("Change 1", "a.txt", "content");
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
|
|
||||||
RevCommit headAfterFirstSubmit = getRemoteHead();
|
RevCommit headAfterFirstSubmit = projectOperations.project(project).getHead("master");
|
||||||
testRepo.reset(initialHead);
|
testRepo.reset(initialHead);
|
||||||
PushOneCommit.Result change2 = createChange("Change 2", "a.txt", "other content");
|
PushOneCommit.Result change2 = createChange("Change 2", "a.txt", "other content");
|
||||||
PushOneCommit.Result change3 = createChange("Change 3", "d", "d");
|
PushOneCommit.Result change3 = createChange("Change 3", "d", "d");
|
||||||
@@ -267,7 +268,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
RevCommit headAfterSubmit = getRemoteHead();
|
RevCommit headAfterSubmit = projectOperations.project(project).getHead("master");
|
||||||
assertThat(headAfterSubmit).isEqualTo(headAfterFirstSubmit);
|
assertThat(headAfterSubmit).isEqualTo(headAfterFirstSubmit);
|
||||||
assertRefUpdatedEvents(initialHead, headAfterFirstSubmit);
|
assertRefUpdatedEvents(initialHead, headAfterFirstSubmit);
|
||||||
assertChangeMergedEvents(change.getChangeId(), headAfterFirstSubmit.name());
|
assertChangeMergedEvents(change.getChangeId(), headAfterFirstSubmit.name());
|
||||||
@@ -276,7 +277,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitMultipleChangesPreview() throws Throwable {
|
public void submitMultipleChangesPreview() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change2 = createChange("Change 2", "a.txt", "other content");
|
PushOneCommit.Result change2 = createChange("Change 2", "a.txt", "other content");
|
||||||
PushOneCommit.Result change3 = createChange("Change 3", "d", "d");
|
PushOneCommit.Result change3 = createChange("Change 3", "d", "d");
|
||||||
PushOneCommit.Result change4 = createChange("Change 4", "e", "e");
|
PushOneCommit.Result change4 = createChange("Change 4", "e", "e");
|
||||||
@@ -301,7 +302,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// check that the submit preview did not actually submit
|
// check that the submit preview did not actually submit
|
||||||
RevCommit headAfterSubmit = getRemoteHead();
|
RevCommit headAfterSubmit = projectOperations.project(project).getHead("master");
|
||||||
assertThat(headAfterSubmit).isEqualTo(initialHead);
|
assertThat(headAfterSubmit).isEqualTo(initialHead);
|
||||||
assertRefUpdatedEvents();
|
assertRefUpdatedEvents();
|
||||||
assertChangeMergedEvents();
|
assertChangeMergedEvents();
|
||||||
@@ -428,7 +429,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
Project.NameKey keyA = createProjectForPush(getSubmitType());
|
Project.NameKey keyA = createProjectForPush(getSubmitType());
|
||||||
TestRepository<?> repoA = cloneProject(keyA);
|
TestRepository<?> repoA = cloneProject(keyA);
|
||||||
|
|
||||||
RevCommit initialHead = getRemoteHead(keyA, "master");
|
RevCommit initialHead = projectOperations.project(keyA).getHead("master");
|
||||||
|
|
||||||
// Create the dev branch on the test project
|
// Create the dev branch on the test project
|
||||||
BranchInput in = new BranchInput();
|
BranchInput in = new BranchInput();
|
||||||
@@ -621,7 +622,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
// | /
|
// | /
|
||||||
// I -- master
|
// I -- master
|
||||||
//
|
//
|
||||||
RevCommit master = getRemoteHead(project, "master");
|
RevCommit master = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit stableTip =
|
PushOneCommit stableTip =
|
||||||
pushFactory.create(admin.newIdent(), testRepo, "Tip of branch stable", "stable.txt", "");
|
pushFactory.create(admin.newIdent(), testRepo, "Tip of branch stable", "stable.txt", "");
|
||||||
PushOneCommit.Result stable = stableTip.to("refs/heads/stable");
|
PushOneCommit.Result stable = stableTip.to("refs/heads/stable");
|
||||||
@@ -649,7 +650,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
// | /
|
// | /
|
||||||
// I -- master
|
// I -- master
|
||||||
//
|
//
|
||||||
RevCommit initial = getRemoteHead(project, "master");
|
RevCommit initial = projectOperations.project(project).getHead("master");
|
||||||
// push directly to stable to S1
|
// push directly to stable to S1
|
||||||
PushOneCommit.Result s1 =
|
PushOneCommit.Result s1 =
|
||||||
pushFactory
|
pushFactory
|
||||||
@@ -686,7 +687,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
// create and submit a change
|
// create and submit a change
|
||||||
PushOneCommit.Result change = createChange();
|
PushOneCommit.Result change = createChange();
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
RevCommit headAfterSubmit = getRemoteHead();
|
RevCommit headAfterSubmit = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
// set the status of the change back to NEW to simulate a failed submit that
|
// set the status of the change back to NEW to simulate a failed submit that
|
||||||
// merged the commit but failed to update the change status
|
// merged the commit but failed to update the change status
|
||||||
@@ -695,7 +696,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
// submitting the change again should detect that the commit was already
|
// submitting the change again should detect that the commit was already
|
||||||
// merged and just fix the change status to be MERGED
|
// merged and just fix the change status to be MERGED
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
assertThat(getRemoteHead()).isEqualTo(headAfterSubmit);
|
assertThat(projectOperations.project(project).getHead("master")).isEqualTo(headAfterSubmit);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -709,7 +710,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
}
|
}
|
||||||
submit(change2.getChangeId());
|
submit(change2.getChangeId());
|
||||||
assertMerged(change1.getChangeId());
|
assertMerged(change1.getChangeId());
|
||||||
RevCommit headAfterSubmit = getRemoteHead();
|
RevCommit headAfterSubmit = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
// set the status of the changes back to NEW to simulate a failed submit that
|
// set the status of the changes back to NEW to simulate a failed submit that
|
||||||
// merged the commits but failed to update the change status
|
// merged the commits but failed to update the change status
|
||||||
@@ -719,7 +720,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
// merged and just fix the change status to be MERGED
|
// merged and just fix the change status to be MERGED
|
||||||
submit(change1.getChangeId());
|
submit(change1.getChangeId());
|
||||||
submit(change2.getChangeId());
|
submit(change2.getChangeId());
|
||||||
assertThat(getRemoteHead()).isEqualTo(headAfterSubmit);
|
assertThat(projectOperations.project(project).getHead("master")).isEqualTo(headAfterSubmit);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -733,7 +734,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
approve(change1.getChangeId());
|
approve(change1.getChangeId());
|
||||||
submit(change2.getChangeId());
|
submit(change2.getChangeId());
|
||||||
assertMerged(change1.getChangeId());
|
assertMerged(change1.getChangeId());
|
||||||
RevCommit headAfterSubmit = getRemoteHead();
|
RevCommit headAfterSubmit = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
// set the status of the second change back to NEW to simulate a failed
|
// set the status of the second change back to NEW to simulate a failed
|
||||||
// submit that merged the commits but failed to update the change status of
|
// submit that merged the commits but failed to update the change status of
|
||||||
@@ -743,7 +744,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
// submitting the topic again should detect that the commits were already
|
// submitting the topic again should detect that the commits were already
|
||||||
// merged and just fix the change status to be MERGED
|
// merged and just fix the change status to be MERGED
|
||||||
submit(change2.getChangeId());
|
submit(change2.getChangeId());
|
||||||
assertThat(getRemoteHead()).isEqualTo(headAfterSubmit);
|
assertThat(projectOperations.project(project).getHead("master")).isEqualTo(headAfterSubmit);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -835,7 +836,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
public void submitWithCommitAndItsMergeCommitTogether() throws Throwable {
|
public void submitWithCommitAndItsMergeCommitTogether() throws Throwable {
|
||||||
assume().that(isSubmitWholeTopicEnabled()).isTrue();
|
assume().that(isSubmitWholeTopicEnabled()).isTrue();
|
||||||
|
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
// Create a stable branch and bootstrap it.
|
// Create a stable branch and bootstrap it.
|
||||||
gApi.projects().name(project.get()).branch("stable").create(new BranchInput());
|
gApi.projects().name(project.get()).branch("stable").create(new BranchInput());
|
||||||
@@ -843,8 +844,8 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
pushFactory.create(user.newIdent(), testRepo, "initial commit", "a.txt", "a");
|
pushFactory.create(user.newIdent(), testRepo, "initial commit", "a.txt", "a");
|
||||||
PushOneCommit.Result change = push.to("refs/heads/stable");
|
PushOneCommit.Result change = push.to("refs/heads/stable");
|
||||||
|
|
||||||
RevCommit stable = getRemoteHead(project, "stable");
|
RevCommit stable = projectOperations.project(project).getHead("stable");
|
||||||
RevCommit master = getRemoteHead(project, "master");
|
RevCommit master = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
assertThat(master).isEqualTo(initialHead);
|
assertThat(master).isEqualTo(initialHead);
|
||||||
assertThat(stable).isEqualTo(change.getCommit());
|
assertThat(stable).isEqualTo(change.getCommit());
|
||||||
@@ -897,7 +898,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
assertMerged(mergeId);
|
assertMerged(mergeId);
|
||||||
testRepo.git().fetch().call();
|
testRepo.git().fetch().call();
|
||||||
RevWalk rw = testRepo.getRevWalk();
|
RevWalk rw = testRepo.getRevWalk();
|
||||||
master = rw.parseCommit(getRemoteHead(project, "master"));
|
master = rw.parseCommit(projectOperations.project(project).getHead("master"));
|
||||||
assertThat(rw.isMergedInto(merge, master)).isTrue();
|
assertThat(rw.isMergedInto(merge, master)).isTrue();
|
||||||
assertThat(rw.isMergedInto(fix, master)).isTrue();
|
assertThat(rw.isMergedInto(fix, master)).isTrue();
|
||||||
}
|
}
|
||||||
@@ -920,7 +921,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
|
|
||||||
testRepo.git().fetch().call();
|
testRepo.git().fetch().call();
|
||||||
RevWalk rw = testRepo.getRevWalk();
|
RevWalk rw = testRepo.getRevWalk();
|
||||||
RevCommit master = rw.parseCommit(getRemoteHead(project, "master"));
|
RevCommit master = rw.parseCommit(projectOperations.project(project).getHead("master"));
|
||||||
RevCommit patchSet = parseCurrentRevision(rw, change.getChangeId());
|
RevCommit patchSet = parseCurrentRevision(rw, change.getChangeId());
|
||||||
assertThat(rw.isMergedInto(patchSet, master)).isTrue();
|
assertThat(rw.isMergedInto(patchSet, master)).isTrue();
|
||||||
|
|
||||||
@@ -963,13 +964,13 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
|
|
||||||
repoA.git().fetch().call();
|
repoA.git().fetch().call();
|
||||||
RevWalk rwA = repoA.getRevWalk();
|
RevWalk rwA = repoA.getRevWalk();
|
||||||
RevCommit masterA = rwA.parseCommit(getRemoteHead(keyA, "master"));
|
RevCommit masterA = rwA.parseCommit(projectOperations.project(keyA).getHead("master"));
|
||||||
RevCommit change1Ps = parseCurrentRevision(rwA, change1.getChangeId());
|
RevCommit change1Ps = parseCurrentRevision(rwA, change1.getChangeId());
|
||||||
assertThat(rwA.isMergedInto(change1Ps, masterA)).isTrue();
|
assertThat(rwA.isMergedInto(change1Ps, masterA)).isTrue();
|
||||||
|
|
||||||
repoB.git().fetch().call();
|
repoB.git().fetch().call();
|
||||||
RevWalk rwB = repoB.getRevWalk();
|
RevWalk rwB = repoB.getRevWalk();
|
||||||
RevCommit masterB = rwB.parseCommit(getRemoteHead(keyB, "master"));
|
RevCommit masterB = rwB.parseCommit(projectOperations.project(keyB).getHead("master"));
|
||||||
RevCommit change2Ps = parseCurrentRevision(rwB, change2.getChangeId());
|
RevCommit change2Ps = parseCurrentRevision(rwB, change2.getChangeId());
|
||||||
assertThat(rwB.isMergedInto(change2Ps, masterB)).isTrue();
|
assertThat(rwB.isMergedInto(change2Ps, masterB)).isTrue();
|
||||||
|
|
||||||
@@ -984,7 +985,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
ci.matchAuthorToCommitterDate = InheritableBoolean.TRUE;
|
ci.matchAuthorToCommitterDate = InheritableBoolean.TRUE;
|
||||||
gApi.projects().name(project.get()).config(ci);
|
gApi.projects().name(project.get()).config(ci);
|
||||||
|
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
testRepo.reset(initialHead);
|
testRepo.reset(initialHead);
|
||||||
PushOneCommit.Result change = createChange("Change 1", "b", "b");
|
PushOneCommit.Result change = createChange("Change 1", "b", "b");
|
||||||
|
|
||||||
@@ -998,7 +999,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
submit(change2.getChangeId());
|
submit(change2.getChangeId());
|
||||||
assertAuthorAndCommitDateEquals(getRemoteHead());
|
assertAuthorAndCommitDateEquals(projectOperations.project(project).getHead("master"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -1088,7 +1089,8 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
assertThat(actual).hasSize(1);
|
assertThat(actual).hasSize(1);
|
||||||
|
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
assertThat(getRemoteHead().getId()).isEqualTo(change.getCommit());
|
assertThat(projectOperations.project(project).getHead("master").getId())
|
||||||
|
.isEqualTo(change.getCommit());
|
||||||
assertTrees(project, actual);
|
assertTrees(project, actual);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1108,7 +1110,8 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
assertThat(actual).hasSize(1);
|
assertThat(actual).hasSize(1);
|
||||||
|
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
assertThat(getRemoteHead().getId()).isEqualTo(change.getCommit());
|
assertThat(projectOperations.project(project).getHead("master").getId())
|
||||||
|
.isEqualTo(change.getCommit());
|
||||||
assertTrees(project, actual);
|
assertTrees(project, actual);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1278,7 +1281,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
protected void assertCherryPick(TestRepository<?> testRepo, boolean contentMerge)
|
protected void assertCherryPick(TestRepository<?> testRepo, boolean contentMerge)
|
||||||
throws Throwable {
|
throws Throwable {
|
||||||
assertRebase(testRepo, contentMerge);
|
assertRebase(testRepo, contentMerge);
|
||||||
RevCommit remoteHead = getRemoteHead();
|
RevCommit remoteHead = projectOperations.project(project).getHead("master");
|
||||||
assertThat(remoteHead.getFooterLines("Reviewed-On")).isNotEmpty();
|
assertThat(remoteHead.getFooterLines("Reviewed-On")).isNotEmpty();
|
||||||
assertThat(remoteHead.getFooterLines("Reviewed-By")).isNotEmpty();
|
assertThat(remoteHead.getFooterLines("Reviewed-By")).isNotEmpty();
|
||||||
}
|
}
|
||||||
@@ -1286,7 +1289,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
protected void assertRebase(TestRepository<?> testRepo, boolean contentMerge) throws Throwable {
|
protected void assertRebase(TestRepository<?> testRepo, boolean contentMerge) throws Throwable {
|
||||||
Repository repo = testRepo.getRepository();
|
Repository repo = testRepo.getRepository();
|
||||||
RevCommit localHead = getHead(repo, "HEAD");
|
RevCommit localHead = getHead(repo, "HEAD");
|
||||||
RevCommit remoteHead = getRemoteHead();
|
RevCommit remoteHead = projectOperations.project(project).getHead("master");
|
||||||
assertThat(localHead.getId()).isNotEqualTo(remoteHead.getId());
|
assertThat(localHead.getId()).isNotEqualTo(remoteHead.getId());
|
||||||
assertThat(remoteHead.getParentCount()).isEqualTo(1);
|
assertThat(remoteHead.getParentCount()).isEqualTo(1);
|
||||||
if (!contentMerge) {
|
if (!contentMerge) {
|
||||||
|
|||||||
@@ -27,15 +27,15 @@ public abstract class AbstractSubmitByMerge extends AbstractSubmit {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitWithMerge() throws Throwable {
|
public void submitWithMerge() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change = createChange("Change 1", "a.txt", "content");
|
PushOneCommit.Result change = createChange("Change 1", "a.txt", "content");
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
|
|
||||||
RevCommit oldHead = getRemoteHead();
|
RevCommit oldHead = projectOperations.project(project).getHead("master");
|
||||||
testRepo.reset(initialHead);
|
testRepo.reset(initialHead);
|
||||||
PushOneCommit.Result change2 = createChange("Change 2", "b.txt", "other content");
|
PushOneCommit.Result change2 = createChange("Change 2", "b.txt", "other content");
|
||||||
submit(change2.getChangeId());
|
submit(change2.getChangeId());
|
||||||
RevCommit head = getRemoteHead();
|
RevCommit head = projectOperations.project(project).getHead("master");
|
||||||
assertThat(head.getParentCount()).isEqualTo(2);
|
assertThat(head.getParentCount()).isEqualTo(2);
|
||||||
assertThat(head.getParent(0)).isEqualTo(oldHead);
|
assertThat(head.getParent(0)).isEqualTo(oldHead);
|
||||||
assertThat(head.getParent(1)).isEqualTo(change2.getCommit());
|
assertThat(head.getParent(1)).isEqualTo(change2.getCommit());
|
||||||
@@ -49,11 +49,11 @@ public abstract class AbstractSubmitByMerge extends AbstractSubmit {
|
|||||||
PushOneCommit.Result change2 = createChange("Change 2", "a.txt", "aaa\nbbb\nccc\nddd\n");
|
PushOneCommit.Result change2 = createChange("Change 2", "a.txt", "aaa\nbbb\nccc\nddd\n");
|
||||||
submit(change2.getChangeId());
|
submit(change2.getChangeId());
|
||||||
|
|
||||||
RevCommit oldHead = getRemoteHead();
|
RevCommit oldHead = projectOperations.project(project).getHead("master");
|
||||||
testRepo.reset(change.getCommit());
|
testRepo.reset(change.getCommit());
|
||||||
PushOneCommit.Result change3 = createChange("Change 3", "a.txt", "bbb\nccc\n");
|
PushOneCommit.Result change3 = createChange("Change 3", "a.txt", "bbb\nccc\n");
|
||||||
submit(change3.getChangeId());
|
submit(change3.getChangeId());
|
||||||
RevCommit head = getRemoteHead();
|
RevCommit head = projectOperations.project(project).getHead("master");
|
||||||
assertThat(head.getParentCount()).isEqualTo(2);
|
assertThat(head.getParentCount()).isEqualTo(2);
|
||||||
assertThat(head.getParent(0)).isEqualTo(oldHead);
|
assertThat(head.getParent(0)).isEqualTo(oldHead);
|
||||||
assertThat(head.getParent(1)).isEqualTo(change3.getCommit());
|
assertThat(head.getParent(1)).isEqualTo(change3.getCommit());
|
||||||
@@ -62,11 +62,11 @@ public abstract class AbstractSubmitByMerge extends AbstractSubmit {
|
|||||||
@Test
|
@Test
|
||||||
@TestProjectInput(useContentMerge = InheritableBoolean.TRUE)
|
@TestProjectInput(useContentMerge = InheritableBoolean.TRUE)
|
||||||
public void submitWithContentMerge_Conflict() throws Throwable {
|
public void submitWithContentMerge_Conflict() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change = createChange("Change 1", "a.txt", "content");
|
PushOneCommit.Result change = createChange("Change 1", "a.txt", "content");
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
|
|
||||||
RevCommit oldHead = getRemoteHead();
|
RevCommit oldHead = projectOperations.project(project).getHead("master");
|
||||||
testRepo.reset(initialHead);
|
testRepo.reset(initialHead);
|
||||||
PushOneCommit.Result change2 = createChange("Change 2", "a.txt", "other content");
|
PushOneCommit.Result change2 = createChange("Change 2", "a.txt", "other content");
|
||||||
submitWithConflict(
|
submitWithConflict(
|
||||||
@@ -78,7 +78,7 @@ public abstract class AbstractSubmitByMerge extends AbstractSubmit {
|
|||||||
+ "Change could not be merged due to a path conflict. "
|
+ "Change could not be merged due to a path conflict. "
|
||||||
+ "Please rebase the change locally "
|
+ "Please rebase the change locally "
|
||||||
+ "and upload the rebased commit for review.");
|
+ "and upload the rebased commit for review.");
|
||||||
assertThat(getRemoteHead()).isEqualTo(oldHead);
|
assertThat(projectOperations.project(project).getHead("master")).isEqualTo(oldHead);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -88,7 +88,8 @@ public abstract class AbstractSubmitByMerge extends AbstractSubmit {
|
|||||||
PushOneCommit.Result change2 = createChange();
|
PushOneCommit.Result change2 = createChange();
|
||||||
approve(change1.getChangeId());
|
approve(change1.getChangeId());
|
||||||
submit(change2.getChangeId());
|
submit(change2.getChangeId());
|
||||||
assertThat(getRemoteHead().getId()).isEqualTo(change2.getCommit());
|
assertThat(projectOperations.project(project).getHead("master").getId())
|
||||||
|
.isEqualTo(change2.getCommit());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -108,7 +109,7 @@ public abstract class AbstractSubmitByMerge extends AbstractSubmit {
|
|||||||
approve(change1.getChangeId());
|
approve(change1.getChangeId());
|
||||||
submit(change2.getChangeId());
|
submit(change2.getChangeId());
|
||||||
|
|
||||||
RevCommit head = getRemoteHead();
|
RevCommit head = projectOperations.project(project).getHead("master");
|
||||||
assertThat(head.getParents()).hasLength(2);
|
assertThat(head.getParents()).hasLength(2);
|
||||||
assertThat(head.getParent(0)).isEqualTo(change1.getCommit());
|
assertThat(head.getParent(0)).isEqualTo(change1.getCommit());
|
||||||
assertThat(head.getParent(1)).isEqualTo(change2.getCommit());
|
assertThat(head.getParent(1)).isEqualTo(change2.getCommit());
|
||||||
|
|||||||
@@ -73,16 +73,16 @@ public abstract class AbstractSubmitByRebase extends AbstractSubmit {
|
|||||||
protected ImmutableList<PushOneCommit.Result> submitWithRebase(TestAccount submitter)
|
protected ImmutableList<PushOneCommit.Result> submitWithRebase(TestAccount submitter)
|
||||||
throws Throwable {
|
throws Throwable {
|
||||||
requestScopeOperations.setApiUser(submitter.id());
|
requestScopeOperations.setApiUser(submitter.id());
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change = createChange("Change 1", "a.txt", "content");
|
PushOneCommit.Result change = createChange("Change 1", "a.txt", "content");
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
|
|
||||||
RevCommit headAfterFirstSubmit = getRemoteHead();
|
RevCommit headAfterFirstSubmit = projectOperations.project(project).getHead("master");
|
||||||
testRepo.reset(initialHead);
|
testRepo.reset(initialHead);
|
||||||
PushOneCommit.Result change2 = createChange("Change 2", "b.txt", "other content");
|
PushOneCommit.Result change2 = createChange("Change 2", "b.txt", "other content");
|
||||||
submit(change2.getChangeId());
|
submit(change2.getChangeId());
|
||||||
assertRebase(testRepo, false);
|
assertRebase(testRepo, false);
|
||||||
RevCommit headAfterSecondSubmit = getRemoteHead();
|
RevCommit headAfterSecondSubmit = projectOperations.project(project).getHead("master");
|
||||||
assertThat(headAfterSecondSubmit.getParent(0)).isEqualTo(headAfterFirstSubmit);
|
assertThat(headAfterSecondSubmit.getParent(0)).isEqualTo(headAfterFirstSubmit);
|
||||||
assertApproved(change2.getChangeId(), submitter);
|
assertApproved(change2.getChangeId(), submitter);
|
||||||
assertCurrentRevision(change2.getChangeId(), 2, headAfterSecondSubmit);
|
assertCurrentRevision(change2.getChangeId(), 2, headAfterSecondSubmit);
|
||||||
@@ -103,10 +103,10 @@ public abstract class AbstractSubmitByRebase extends AbstractSubmit {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitWithRebaseMultipleChanges() throws Throwable {
|
public void submitWithRebaseMultipleChanges() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change1 = createChange("Change 1", "a.txt", "content");
|
PushOneCommit.Result change1 = createChange("Change 1", "a.txt", "content");
|
||||||
submit(change1.getChangeId());
|
submit(change1.getChangeId());
|
||||||
RevCommit headAfterFirstSubmit = getRemoteHead();
|
RevCommit headAfterFirstSubmit = projectOperations.project(project).getHead("master");
|
||||||
if (getSubmitType() == SubmitType.REBASE_ALWAYS) {
|
if (getSubmitType() == SubmitType.REBASE_ALWAYS) {
|
||||||
assertCurrentRevision(change1.getChangeId(), 2, headAfterFirstSubmit);
|
assertCurrentRevision(change1.getChangeId(), 2, headAfterFirstSubmit);
|
||||||
} else {
|
} else {
|
||||||
@@ -127,7 +127,7 @@ public abstract class AbstractSubmitByRebase extends AbstractSubmit {
|
|||||||
assertApproved(change3.getChangeId());
|
assertApproved(change3.getChangeId());
|
||||||
assertApproved(change4.getChangeId());
|
assertApproved(change4.getChangeId());
|
||||||
|
|
||||||
RevCommit headAfterSecondSubmit = parse(getRemoteHead());
|
RevCommit headAfterSecondSubmit = parse(projectOperations.project(project).getHead("master"));
|
||||||
assertThat(headAfterSecondSubmit.getShortMessage()).isEqualTo("Change 4");
|
assertThat(headAfterSecondSubmit.getShortMessage()).isEqualTo("Change 4");
|
||||||
assertThat(headAfterSecondSubmit).isNotEqualTo(change4.getCommit());
|
assertThat(headAfterSecondSubmit).isNotEqualTo(change4.getCommit());
|
||||||
assertCurrentRevision(change4.getChangeId(), 2, headAfterSecondSubmit);
|
assertCurrentRevision(change4.getChangeId(), 2, headAfterSecondSubmit);
|
||||||
@@ -175,7 +175,7 @@ public abstract class AbstractSubmitByRebase extends AbstractSubmit {
|
|||||||
|/
|
|/
|
||||||
* Initial empty repository
|
* Initial empty repository
|
||||||
*/
|
*/
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change1 = createChange("Added a", "a.txt", "");
|
PushOneCommit.Result change1 = createChange("Added a", "a.txt", "");
|
||||||
|
|
||||||
PushOneCommit change2Push =
|
PushOneCommit change2Push =
|
||||||
@@ -193,7 +193,7 @@ public abstract class AbstractSubmitByRebase extends AbstractSubmit {
|
|||||||
approve(change2.getChangeId());
|
approve(change2.getChangeId());
|
||||||
submit(change2.getChangeId());
|
submit(change2.getChangeId());
|
||||||
|
|
||||||
RevCommit newHead = getRemoteHead();
|
RevCommit newHead = projectOperations.project(project).getHead("master");
|
||||||
assertThat(newHead.getParentCount()).isEqualTo(2);
|
assertThat(newHead.getParentCount()).isEqualTo(2);
|
||||||
|
|
||||||
RevCommit headParent1 = parse(newHead.getParent(0).getId());
|
RevCommit headParent1 = parse(newHead.getParent(0).getId());
|
||||||
@@ -220,11 +220,11 @@ public abstract class AbstractSubmitByRebase extends AbstractSubmit {
|
|||||||
@Test
|
@Test
|
||||||
@TestProjectInput(useContentMerge = InheritableBoolean.TRUE)
|
@TestProjectInput(useContentMerge = InheritableBoolean.TRUE)
|
||||||
public void submitWithContentMerge_Conflict() throws Throwable {
|
public void submitWithContentMerge_Conflict() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change = createChange("Change 1", "a.txt", "content");
|
PushOneCommit.Result change = createChange("Change 1", "a.txt", "content");
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
|
|
||||||
RevCommit headAfterFirstSubmit = getRemoteHead();
|
RevCommit headAfterFirstSubmit = projectOperations.project(project).getHead("master");
|
||||||
testRepo.reset(initialHead);
|
testRepo.reset(initialHead);
|
||||||
PushOneCommit.Result change2 = createChange("Change 2", "a.txt", "other content");
|
PushOneCommit.Result change2 = createChange("Change 2", "a.txt", "other content");
|
||||||
submitWithConflict(
|
submitWithConflict(
|
||||||
@@ -232,7 +232,7 @@ public abstract class AbstractSubmitByRebase extends AbstractSubmit {
|
|||||||
"Cannot rebase "
|
"Cannot rebase "
|
||||||
+ change2.getCommit().name()
|
+ change2.getCommit().name()
|
||||||
+ ": The change could not be rebased due to a conflict during merge.");
|
+ ": The change could not be rebased due to a conflict during merge.");
|
||||||
RevCommit head = getRemoteHead();
|
RevCommit head = projectOperations.project(project).getHead("master");
|
||||||
assertThat(head).isEqualTo(headAfterFirstSubmit);
|
assertThat(head).isEqualTo(headAfterFirstSubmit);
|
||||||
assertCurrentRevision(change2.getChangeId(), 1, change2.getCommit());
|
assertCurrentRevision(change2.getChangeId(), 1, change2.getCommit());
|
||||||
assertNoSubmitter(change2.getChangeId(), 1);
|
assertNoSubmitter(change2.getChangeId(), 1);
|
||||||
@@ -252,7 +252,7 @@ public abstract class AbstractSubmitByRebase extends AbstractSubmit {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitAfterReorderOfCommits() throws Throwable {
|
public void submitAfterReorderOfCommits() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
// Create two commits and push.
|
// Create two commits and push.
|
||||||
RevCommit c1 = commitBuilder().add("a.txt", "1").message("subject: 1").create();
|
RevCommit c1 = commitBuilder().add("a.txt", "1").message("subject: 1").create();
|
||||||
@@ -271,7 +271,7 @@ public abstract class AbstractSubmitByRebase extends AbstractSubmit {
|
|||||||
approve(id1);
|
approve(id1);
|
||||||
approve(id2);
|
approve(id2);
|
||||||
submit(id1);
|
submit(id1);
|
||||||
RevCommit headAfterSubmit = getRemoteHead();
|
RevCommit headAfterSubmit = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
assertRefUpdatedEvents(initialHead, headAfterSubmit);
|
assertRefUpdatedEvents(initialHead, headAfterSubmit);
|
||||||
assertChangeMergedEvents(id2, headAfterSubmit.name(), id1, headAfterSubmit.name());
|
assertChangeMergedEvents(id2, headAfterSubmit.name(), id1, headAfterSubmit.name());
|
||||||
@@ -279,7 +279,7 @@ public abstract class AbstractSubmitByRebase extends AbstractSubmit {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitChangesAfterBranchOnSecond() throws Throwable {
|
public void submitChangesAfterBranchOnSecond() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
PushOneCommit.Result change = createChange();
|
PushOneCommit.Result change = createChange();
|
||||||
approve(change.getChangeId());
|
approve(change.getChangeId());
|
||||||
@@ -293,7 +293,7 @@ public abstract class AbstractSubmitByRebase extends AbstractSubmit {
|
|||||||
assertMerged(change2.getChangeId());
|
assertMerged(change2.getChangeId());
|
||||||
assertMerged(change.getChangeId());
|
assertMerged(change.getChangeId());
|
||||||
|
|
||||||
RevCommit newHead = getRemoteHead();
|
RevCommit newHead = projectOperations.project(this.project).getHead("master");
|
||||||
assertRefUpdatedEvents(initialHead, newHead);
|
assertRefUpdatedEvents(initialHead, newHead);
|
||||||
assertChangeMergedEvents(
|
assertChangeMergedEvents(
|
||||||
change.getChangeId(), newHead.name(), change2.getChangeId(), newHead.name());
|
change.getChangeId(), newHead.name(), change2.getChangeId(), newHead.name());
|
||||||
@@ -302,7 +302,7 @@ public abstract class AbstractSubmitByRebase extends AbstractSubmit {
|
|||||||
@Test
|
@Test
|
||||||
@TestProjectInput(useContentMerge = InheritableBoolean.TRUE)
|
@TestProjectInput(useContentMerge = InheritableBoolean.TRUE)
|
||||||
public void submitFastForwardIdenticalTree() throws Throwable {
|
public void submitFastForwardIdenticalTree() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change1 = createChange("Change 1", "a.txt", "a");
|
PushOneCommit.Result change1 = createChange("Change 1", "a.txt", "a");
|
||||||
PushOneCommit.Result change2 = createChange("Change 2", "a.txt", "a");
|
PushOneCommit.Result change2 = createChange("Change 2", "a.txt", "a");
|
||||||
|
|
||||||
@@ -313,18 +313,18 @@ public abstract class AbstractSubmitByRebase extends AbstractSubmit {
|
|||||||
testRepo.reset(initialHead);
|
testRepo.reset(initialHead);
|
||||||
PushOneCommit.Result change0 = createChange("Change 0", "b.txt", "b");
|
PushOneCommit.Result change0 = createChange("Change 0", "b.txt", "b");
|
||||||
submit(change0.getChangeId());
|
submit(change0.getChangeId());
|
||||||
RevCommit headAfterChange0 = getRemoteHead();
|
RevCommit headAfterChange0 = projectOperations.project(project).getHead("master");
|
||||||
assertThat(headAfterChange0.getShortMessage()).isEqualTo("Change 0");
|
assertThat(headAfterChange0.getShortMessage()).isEqualTo("Change 0");
|
||||||
|
|
||||||
submit(change1.getChangeId());
|
submit(change1.getChangeId());
|
||||||
RevCommit headAfterChange1 = getRemoteHead();
|
RevCommit headAfterChange1 = projectOperations.project(project).getHead("master");
|
||||||
assertThat(headAfterChange1.getShortMessage()).isEqualTo("Change 1");
|
assertThat(headAfterChange1.getShortMessage()).isEqualTo("Change 1");
|
||||||
assertThat(headAfterChange0).isEqualTo(headAfterChange1.getParent(0));
|
assertThat(headAfterChange0).isEqualTo(headAfterChange1.getParent(0));
|
||||||
|
|
||||||
// Do manual rebase first.
|
// Do manual rebase first.
|
||||||
gApi.changes().id(change2.getChangeId()).current().rebase();
|
gApi.changes().id(change2.getChangeId()).current().rebase();
|
||||||
submit(change2.getChangeId());
|
submit(change2.getChangeId());
|
||||||
RevCommit headAfterChange2 = getRemoteHead();
|
RevCommit headAfterChange2 = projectOperations.project(project).getHead("master");
|
||||||
assertThat(headAfterChange2.getShortMessage()).isEqualTo("Change 2");
|
assertThat(headAfterChange2.getShortMessage()).isEqualTo("Change 2");
|
||||||
assertThat(headAfterChange1).isEqualTo(headAfterChange2.getParent(0));
|
assertThat(headAfterChange1).isEqualTo(headAfterChange2.getParent(0));
|
||||||
|
|
||||||
@@ -351,7 +351,7 @@ public abstract class AbstractSubmitByRebase extends AbstractSubmit {
|
|||||||
change1 =
|
change1 =
|
||||||
amendChange(change1.getChangeId(), "subject 1 amend", "fileName 2", "rework content 2");
|
amendChange(change1.getChangeId(), "subject 1 amend", "fileName 2", "rework content 2");
|
||||||
submit(change1.getChangeId());
|
submit(change1.getChangeId());
|
||||||
headAfterChange1 = getRemoteHead();
|
headAfterChange1 = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
submitWithConflict(
|
submitWithConflict(
|
||||||
change2.getChangeId(),
|
change2.getChangeId(),
|
||||||
@@ -359,13 +359,13 @@ public abstract class AbstractSubmitByRebase extends AbstractSubmit {
|
|||||||
+ change2.getCommit().getName()
|
+ change2.getCommit().getName()
|
||||||
+ ": "
|
+ ": "
|
||||||
+ "The change could not be rebased due to a conflict during merge.");
|
+ "The change could not be rebased due to a conflict during merge.");
|
||||||
assertThat(getRemoteHead()).isEqualTo(headAfterChange1);
|
assertThat(projectOperations.project(project).getHead("master")).isEqualTo(headAfterChange1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestProjectInput(useContentMerge = InheritableBoolean.TRUE)
|
@TestProjectInput(useContentMerge = InheritableBoolean.TRUE)
|
||||||
public void submitChainOneByOneManualRebase() throws Throwable {
|
public void submitChainOneByOneManualRebase() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change1 = createChange("subject 1", "fileName 1", "content 1");
|
PushOneCommit.Result change1 = createChange("subject 1", "fileName 1", "content 1");
|
||||||
PushOneCommit.Result change2 = createChange("subject 2", "fileName 2", "content 2");
|
PushOneCommit.Result change2 = createChange("subject 2", "fileName 2", "content 2");
|
||||||
|
|
||||||
|
|||||||
@@ -392,7 +392,7 @@ public class CreateChangeIT extends AbstractDaemonTest {
|
|||||||
cherry.current().review(ReviewInput.approve());
|
cherry.current().review(ReviewInput.approve());
|
||||||
cherry.current().submit();
|
cherry.current().submit();
|
||||||
|
|
||||||
ObjectId remoteId = getRemoteHead();
|
ObjectId remoteId = projectOperations.project(project).getHead("master");
|
||||||
assertThat(remoteId).isNotEqualTo(commitId);
|
assertThat(remoteId).isNotEqualTo(commitId);
|
||||||
|
|
||||||
ChangeInput in = newMergeChangeInput("master", commitId.getName(), "");
|
ChangeInput in = newMergeChangeInput("master", commitId.getName(), "");
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ public class PrivateByDefaultIT extends AbstractDaemonTest {
|
|||||||
public void pushDraftsWithPrivateByDefaultAndDisablePrivateChangesTrue() throws Exception {
|
public void pushDraftsWithPrivateByDefaultAndDisablePrivateChangesTrue() throws Exception {
|
||||||
setPrivateByDefault(project2, InheritableBoolean.TRUE);
|
setPrivateByDefault(project2, InheritableBoolean.TRUE);
|
||||||
|
|
||||||
RevCommit initialHead = getRemoteHead(project2, "master");
|
RevCommit initialHead = projectOperations.project(project2).getHead("master");
|
||||||
TestRepository<InMemoryRepository> testRepo = cloneProject(project2);
|
TestRepository<InMemoryRepository> testRepo = cloneProject(project2);
|
||||||
PushOneCommit.Result result =
|
PushOneCommit.Result result =
|
||||||
pushFactory.create(admin.newIdent(), testRepo).to("refs/for/master%draft");
|
pushFactory.create(admin.newIdent(), testRepo).to("refs/for/master%draft");
|
||||||
|
|||||||
@@ -48,11 +48,11 @@ public class SubmitByCherryPickIT extends AbstractSubmit {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitWithCherryPickIfFastForwardPossible() throws Throwable {
|
public void submitWithCherryPickIfFastForwardPossible() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change = createChange();
|
PushOneCommit.Result change = createChange();
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
assertCherryPick(testRepo, false);
|
assertCherryPick(testRepo, false);
|
||||||
RevCommit newHead = getRemoteHead();
|
RevCommit newHead = projectOperations.project(project).getHead("master");
|
||||||
assertThat(newHead.getParent(0)).isEqualTo(change.getCommit().getParent(0));
|
assertThat(newHead.getParent(0)).isEqualTo(change.getCommit().getParent(0));
|
||||||
|
|
||||||
assertRefUpdatedEvents(initialHead, newHead);
|
assertRefUpdatedEvents(initialHead, newHead);
|
||||||
@@ -61,16 +61,16 @@ public class SubmitByCherryPickIT extends AbstractSubmit {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitWithCherryPick() throws Throwable {
|
public void submitWithCherryPick() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change = createChange("Change 1", "a.txt", "content");
|
PushOneCommit.Result change = createChange("Change 1", "a.txt", "content");
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
|
|
||||||
RevCommit headAfterFirstSubmit = getRemoteHead();
|
RevCommit headAfterFirstSubmit = projectOperations.project(project).getHead("master");
|
||||||
testRepo.reset(initialHead);
|
testRepo.reset(initialHead);
|
||||||
PushOneCommit.Result change2 = createChange("Change 2", "b.txt", "other content");
|
PushOneCommit.Result change2 = createChange("Change 2", "b.txt", "other content");
|
||||||
submit(change2.getChangeId());
|
submit(change2.getChangeId());
|
||||||
assertCherryPick(testRepo, false);
|
assertCherryPick(testRepo, false);
|
||||||
RevCommit newHead = getRemoteHead();
|
RevCommit newHead = projectOperations.project(project).getHead("master");
|
||||||
assertThat(newHead.getParentCount()).isEqualTo(1);
|
assertThat(newHead.getParentCount()).isEqualTo(1);
|
||||||
assertThat(newHead.getParent(0)).isEqualTo(headAfterFirstSubmit);
|
assertThat(newHead.getParent(0)).isEqualTo(headAfterFirstSubmit);
|
||||||
assertCurrentRevision(change2.getChangeId(), 2, newHead);
|
assertCurrentRevision(change2.getChangeId(), 2, newHead);
|
||||||
@@ -108,19 +108,19 @@ public class SubmitByCherryPickIT extends AbstractSubmit {
|
|||||||
@Test
|
@Test
|
||||||
@TestProjectInput(useContentMerge = InheritableBoolean.TRUE)
|
@TestProjectInput(useContentMerge = InheritableBoolean.TRUE)
|
||||||
public void submitWithContentMerge() throws Throwable {
|
public void submitWithContentMerge() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change = createChange("Change 1", "a.txt", "aaa\nbbb\nccc\n");
|
PushOneCommit.Result change = createChange("Change 1", "a.txt", "aaa\nbbb\nccc\n");
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
RevCommit headAfterFirstSubmit = getRemoteHead();
|
RevCommit headAfterFirstSubmit = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change2 = createChange("Change 2", "a.txt", "aaa\nbbb\nccc\nddd\n");
|
PushOneCommit.Result change2 = createChange("Change 2", "a.txt", "aaa\nbbb\nccc\nddd\n");
|
||||||
submit(change2.getChangeId());
|
submit(change2.getChangeId());
|
||||||
RevCommit headAfterSecondSubmit = getRemoteHead();
|
RevCommit headAfterSecondSubmit = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
testRepo.reset(change.getCommit());
|
testRepo.reset(change.getCommit());
|
||||||
PushOneCommit.Result change3 = createChange("Change 3", "a.txt", "bbb\nccc\n");
|
PushOneCommit.Result change3 = createChange("Change 3", "a.txt", "bbb\nccc\n");
|
||||||
submit(change3.getChangeId());
|
submit(change3.getChangeId());
|
||||||
assertCherryPick(testRepo, true);
|
assertCherryPick(testRepo, true);
|
||||||
RevCommit headAfterThirdSubmit = getRemoteHead();
|
RevCommit headAfterThirdSubmit = projectOperations.project(project).getHead("master");
|
||||||
assertThat(headAfterThirdSubmit.getParent(0)).isEqualTo(headAfterSecondSubmit);
|
assertThat(headAfterThirdSubmit.getParent(0)).isEqualTo(headAfterSecondSubmit);
|
||||||
assertApproved(change3.getChangeId());
|
assertApproved(change3.getChangeId());
|
||||||
assertCurrentRevision(change3.getChangeId(), 2, headAfterThirdSubmit);
|
assertCurrentRevision(change3.getChangeId(), 2, headAfterThirdSubmit);
|
||||||
@@ -146,11 +146,11 @@ public class SubmitByCherryPickIT extends AbstractSubmit {
|
|||||||
@Test
|
@Test
|
||||||
@TestProjectInput(useContentMerge = InheritableBoolean.TRUE)
|
@TestProjectInput(useContentMerge = InheritableBoolean.TRUE)
|
||||||
public void submitWithContentMerge_Conflict() throws Throwable {
|
public void submitWithContentMerge_Conflict() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change = createChange("Change 1", "a.txt", "content");
|
PushOneCommit.Result change = createChange("Change 1", "a.txt", "content");
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
|
|
||||||
RevCommit newHead = getRemoteHead();
|
RevCommit newHead = projectOperations.project(project).getHead("master");
|
||||||
testRepo.reset(initialHead);
|
testRepo.reset(initialHead);
|
||||||
PushOneCommit.Result change2 = createChange("Change 2", "a.txt", "other content");
|
PushOneCommit.Result change2 = createChange("Change 2", "a.txt", "other content");
|
||||||
submitWithConflict(
|
submitWithConflict(
|
||||||
@@ -162,7 +162,7 @@ public class SubmitByCherryPickIT extends AbstractSubmit {
|
|||||||
+ "merged due to a path conflict. Please rebase the change locally and "
|
+ "merged due to a path conflict. Please rebase the change locally and "
|
||||||
+ "upload the rebased commit for review.");
|
+ "upload the rebased commit for review.");
|
||||||
|
|
||||||
assertThat(getRemoteHead()).isEqualTo(newHead);
|
assertThat(projectOperations.project(project).getHead("master")).isEqualTo(newHead);
|
||||||
assertCurrentRevision(change2.getChangeId(), 1, change2.getCommit());
|
assertCurrentRevision(change2.getChangeId(), 1, change2.getCommit());
|
||||||
assertNoSubmitter(change2.getChangeId(), 1);
|
assertNoSubmitter(change2.getChangeId(), 1);
|
||||||
|
|
||||||
@@ -172,17 +172,17 @@ public class SubmitByCherryPickIT extends AbstractSubmit {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitOutOfOrder() throws Throwable {
|
public void submitOutOfOrder() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change = createChange("Change 1", "a.txt", "content");
|
PushOneCommit.Result change = createChange("Change 1", "a.txt", "content");
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
|
|
||||||
RevCommit headAfterFirstSubmit = getRemoteHead();
|
RevCommit headAfterFirstSubmit = projectOperations.project(project).getHead("master");
|
||||||
testRepo.reset(initialHead);
|
testRepo.reset(initialHead);
|
||||||
createChange("Change 2", "b.txt", "other content");
|
createChange("Change 2", "b.txt", "other content");
|
||||||
PushOneCommit.Result change3 = createChange("Change 3", "c.txt", "different content");
|
PushOneCommit.Result change3 = createChange("Change 3", "c.txt", "different content");
|
||||||
submit(change3.getChangeId());
|
submit(change3.getChangeId());
|
||||||
assertCherryPick(testRepo, false);
|
assertCherryPick(testRepo, false);
|
||||||
RevCommit headAfterSecondSubmit = getRemoteHead();
|
RevCommit headAfterSecondSubmit = projectOperations.project(project).getHead("master");
|
||||||
assertThat(headAfterSecondSubmit.getParent(0)).isEqualTo(headAfterFirstSubmit);
|
assertThat(headAfterSecondSubmit.getParent(0)).isEqualTo(headAfterFirstSubmit);
|
||||||
assertApproved(change3.getChangeId());
|
assertApproved(change3.getChangeId());
|
||||||
assertCurrentRevision(change3.getChangeId(), 2, headAfterSecondSubmit);
|
assertCurrentRevision(change3.getChangeId(), 2, headAfterSecondSubmit);
|
||||||
@@ -200,11 +200,11 @@ public class SubmitByCherryPickIT extends AbstractSubmit {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitOutOfOrder_Conflict() throws Throwable {
|
public void submitOutOfOrder_Conflict() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change = createChange("Change 1", "a.txt", "content");
|
PushOneCommit.Result change = createChange("Change 1", "a.txt", "content");
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
|
|
||||||
RevCommit newHead = getRemoteHead();
|
RevCommit newHead = projectOperations.project(project).getHead("master");
|
||||||
testRepo.reset(initialHead);
|
testRepo.reset(initialHead);
|
||||||
createChange("Change 2", "b.txt", "other content");
|
createChange("Change 2", "b.txt", "other content");
|
||||||
PushOneCommit.Result change3 = createChange("Change 3", "b.txt", "different content");
|
PushOneCommit.Result change3 = createChange("Change 3", "b.txt", "different content");
|
||||||
@@ -217,7 +217,7 @@ public class SubmitByCherryPickIT extends AbstractSubmit {
|
|||||||
+ "merged due to a path conflict. Please rebase the change locally and "
|
+ "merged due to a path conflict. Please rebase the change locally and "
|
||||||
+ "upload the rebased commit for review.");
|
+ "upload the rebased commit for review.");
|
||||||
|
|
||||||
assertThat(getRemoteHead()).isEqualTo(newHead);
|
assertThat(projectOperations.project(project).getHead("master")).isEqualTo(newHead);
|
||||||
assertCurrentRevision(change3.getChangeId(), 1, change3.getCommit());
|
assertCurrentRevision(change3.getChangeId(), 1, change3.getCommit());
|
||||||
assertNoSubmitter(change3.getChangeId(), 1);
|
assertNoSubmitter(change3.getChangeId(), 1);
|
||||||
|
|
||||||
@@ -227,7 +227,7 @@ public class SubmitByCherryPickIT extends AbstractSubmit {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitMultipleChanges() throws Throwable {
|
public void submitMultipleChanges() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
testRepo.reset(initialHead);
|
testRepo.reset(initialHead);
|
||||||
PushOneCommit.Result change = createChange("Change 1", "b", "b");
|
PushOneCommit.Result change = createChange("Change 1", "b", "b");
|
||||||
@@ -255,7 +255,7 @@ public class SubmitByCherryPickIT extends AbstractSubmit {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitDependentNonConflictingChangesOutOfOrder() throws Throwable {
|
public void submitDependentNonConflictingChangesOutOfOrder() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
testRepo.reset(initialHead);
|
testRepo.reset(initialHead);
|
||||||
PushOneCommit.Result change = createChange("Change 1", "b", "b");
|
PushOneCommit.Result change = createChange("Change 1", "b", "b");
|
||||||
@@ -264,11 +264,11 @@ public class SubmitByCherryPickIT extends AbstractSubmit {
|
|||||||
|
|
||||||
// Submit succeeds; change2 is successfully cherry-picked onto head.
|
// Submit succeeds; change2 is successfully cherry-picked onto head.
|
||||||
submit(change2.getChangeId());
|
submit(change2.getChangeId());
|
||||||
RevCommit headAfterFirstSubmit = getRemoteHead();
|
RevCommit headAfterFirstSubmit = projectOperations.project(project).getHead("master");
|
||||||
// Submit succeeds; change is successfully cherry-picked onto head
|
// Submit succeeds; change is successfully cherry-picked onto head
|
||||||
// (which was change2's cherry-pick).
|
// (which was change2's cherry-pick).
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
RevCommit headAfterSecondSubmit = getRemoteHead();
|
RevCommit headAfterSecondSubmit = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
// change is the new tip.
|
// change is the new tip.
|
||||||
List<RevCommit> log = getRemoteLog();
|
List<RevCommit> log = getRemoteLog();
|
||||||
@@ -291,7 +291,7 @@ public class SubmitByCherryPickIT extends AbstractSubmit {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitDependentConflictingChangesOutOfOrder() throws Throwable {
|
public void submitDependentConflictingChangesOutOfOrder() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
testRepo.reset(initialHead);
|
testRepo.reset(initialHead);
|
||||||
PushOneCommit.Result change = createChange("Change 1", "b", "b1");
|
PushOneCommit.Result change = createChange("Change 1", "b", "b1");
|
||||||
@@ -323,7 +323,7 @@ public class SubmitByCherryPickIT extends AbstractSubmit {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitSubsetOfDependentChanges() throws Throwable {
|
public void submitSubsetOfDependentChanges() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
testRepo.reset(initialHead);
|
testRepo.reset(initialHead);
|
||||||
PushOneCommit.Result change = createChange("Change 1", "b", "b");
|
PushOneCommit.Result change = createChange("Change 1", "b", "b");
|
||||||
@@ -334,7 +334,7 @@ public class SubmitByCherryPickIT extends AbstractSubmit {
|
|||||||
// related to change 3 by topic or ancestor (due to cherrypicking!)
|
// related to change 3 by topic or ancestor (due to cherrypicking!)
|
||||||
approve(change2.getChangeId());
|
approve(change2.getChangeId());
|
||||||
submit(change3.getChangeId());
|
submit(change3.getChangeId());
|
||||||
RevCommit newHead = getRemoteHead();
|
RevCommit newHead = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
assertNew(change.getChangeId());
|
assertNew(change.getChangeId());
|
||||||
assertNew(change2.getChangeId());
|
assertNew(change2.getChangeId());
|
||||||
@@ -346,7 +346,7 @@ public class SubmitByCherryPickIT extends AbstractSubmit {
|
|||||||
@Test
|
@Test
|
||||||
@TestProjectInput(useContentMerge = InheritableBoolean.TRUE)
|
@TestProjectInput(useContentMerge = InheritableBoolean.TRUE)
|
||||||
public void submitIdenticalTree() throws Throwable {
|
public void submitIdenticalTree() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
PushOneCommit.Result change1 = createChange("Change 1", "a.txt", "a");
|
PushOneCommit.Result change1 = createChange("Change 1", "a.txt", "a");
|
||||||
|
|
||||||
@@ -354,12 +354,13 @@ public class SubmitByCherryPickIT extends AbstractSubmit {
|
|||||||
PushOneCommit.Result change2 = createChange("Change 2", "a.txt", "a");
|
PushOneCommit.Result change2 = createChange("Change 2", "a.txt", "a");
|
||||||
|
|
||||||
submit(change1.getChangeId());
|
submit(change1.getChangeId());
|
||||||
RevCommit headAfterFirstSubmit = getRemoteHead();
|
RevCommit headAfterFirstSubmit = projectOperations.project(project).getHead("master");
|
||||||
assertThat(headAfterFirstSubmit.getShortMessage()).isEqualTo("Change 1");
|
assertThat(headAfterFirstSubmit.getShortMessage()).isEqualTo("Change 1");
|
||||||
|
|
||||||
submit(change2.getChangeId(), new SubmitInput(), null, null);
|
submit(change2.getChangeId(), new SubmitInput(), null, null);
|
||||||
|
|
||||||
assertThat(getRemoteHead()).isEqualTo(headAfterFirstSubmit);
|
assertThat(projectOperations.project(project).getHead("master"))
|
||||||
|
.isEqualTo(headAfterFirstSubmit);
|
||||||
|
|
||||||
ChangeInfo info2 = get(change2.getChangeId(), MESSAGES);
|
ChangeInfo info2 = get(change2.getChangeId(), MESSAGES);
|
||||||
assertThat(info2.status).isEqualTo(ChangeStatus.MERGED);
|
assertThat(info2.status).isEqualTo(ChangeStatus.MERGED);
|
||||||
|
|||||||
@@ -38,10 +38,10 @@ public class SubmitByFastForwardIT extends AbstractSubmit {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitWithFastForward() throws Throwable {
|
public void submitWithFastForward() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change = createChange();
|
PushOneCommit.Result change = createChange();
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
RevCommit updatedHead = getRemoteHead();
|
RevCommit updatedHead = projectOperations.project(project).getHead("master");
|
||||||
assertThat(updatedHead.getId()).isEqualTo(change.getCommit());
|
assertThat(updatedHead.getId()).isEqualTo(change.getCommit());
|
||||||
assertThat(updatedHead.getParent(0)).isEqualTo(initialHead);
|
assertThat(updatedHead.getParent(0)).isEqualTo(initialHead);
|
||||||
assertSubmitter(change.getChangeId(), 1);
|
assertSubmitter(change.getChangeId(), 1);
|
||||||
@@ -52,7 +52,7 @@ public class SubmitByFastForwardIT extends AbstractSubmit {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitMultipleChangesWithFastForward() throws Throwable {
|
public void submitMultipleChangesWithFastForward() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
PushOneCommit.Result change = createChange();
|
PushOneCommit.Result change = createChange();
|
||||||
PushOneCommit.Result change2 = createChange();
|
PushOneCommit.Result change2 = createChange();
|
||||||
@@ -65,7 +65,7 @@ public class SubmitByFastForwardIT extends AbstractSubmit {
|
|||||||
approve(id2);
|
approve(id2);
|
||||||
submit(id3);
|
submit(id3);
|
||||||
|
|
||||||
RevCommit updatedHead = getRemoteHead();
|
RevCommit updatedHead = projectOperations.project(project).getHead("master");
|
||||||
assertThat(updatedHead.getId()).isEqualTo(change3.getCommit());
|
assertThat(updatedHead.getId()).isEqualTo(change3.getCommit());
|
||||||
assertThat(updatedHead.getParent(0).getId()).isEqualTo(change2.getCommit());
|
assertThat(updatedHead.getParent(0).getId()).isEqualTo(change2.getCommit());
|
||||||
assertSubmitter(change.getChangeId(), 1);
|
assertSubmitter(change.getChangeId(), 1);
|
||||||
@@ -84,7 +84,7 @@ public class SubmitByFastForwardIT extends AbstractSubmit {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitTwoChangesWithFastForward_missingDependency() throws Throwable {
|
public void submitTwoChangesWithFastForward_missingDependency() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change1 = createChange();
|
PushOneCommit.Result change1 = createChange();
|
||||||
PushOneCommit.Result change2 = createChange();
|
PushOneCommit.Result change2 = createChange();
|
||||||
|
|
||||||
@@ -96,7 +96,7 @@ public class SubmitByFastForwardIT extends AbstractSubmit {
|
|||||||
+ id1
|
+ id1
|
||||||
+ ": needs Code-Review");
|
+ ": needs Code-Review");
|
||||||
|
|
||||||
RevCommit updatedHead = getRemoteHead();
|
RevCommit updatedHead = projectOperations.project(project).getHead("master");
|
||||||
assertThat(updatedHead.getId()).isEqualTo(initialHead.getId());
|
assertThat(updatedHead.getId()).isEqualTo(initialHead.getId());
|
||||||
assertRefUpdatedEvents();
|
assertRefUpdatedEvents();
|
||||||
assertChangeMergedEvents();
|
assertChangeMergedEvents();
|
||||||
@@ -104,11 +104,11 @@ public class SubmitByFastForwardIT extends AbstractSubmit {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitFastForwardNotPossible_Conflict() throws Throwable {
|
public void submitFastForwardNotPossible_Conflict() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change = createChange("Change 1", "a.txt", "content");
|
PushOneCommit.Result change = createChange("Change 1", "a.txt", "content");
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
|
|
||||||
RevCommit headAfterFirstSubmit = getRemoteHead();
|
RevCommit headAfterFirstSubmit = projectOperations.project(project).getHead("master");
|
||||||
testRepo.reset(initialHead);
|
testRepo.reset(initialHead);
|
||||||
PushOneCommit.Result change2 = createChange("Change 2", "b.txt", "other content");
|
PushOneCommit.Result change2 = createChange("Change 2", "b.txt", "other content");
|
||||||
|
|
||||||
@@ -129,7 +129,8 @@ public class SubmitByFastForwardIT extends AbstractSubmit {
|
|||||||
+ ": Project policy requires "
|
+ ": Project policy requires "
|
||||||
+ "all submissions to be a fast-forward. Please rebase the change "
|
+ "all submissions to be a fast-forward. Please rebase the change "
|
||||||
+ "locally and upload again for review.");
|
+ "locally and upload again for review.");
|
||||||
assertThat(getRemoteHead()).isEqualTo(headAfterFirstSubmit);
|
assertThat(projectOperations.project(project).getHead("master"))
|
||||||
|
.isEqualTo(headAfterFirstSubmit);
|
||||||
assertSubmitter(change.getChangeId(), 1);
|
assertSubmitter(change.getChangeId(), 1);
|
||||||
|
|
||||||
assertRefUpdatedEvents(initialHead, headAfterFirstSubmit);
|
assertRefUpdatedEvents(initialHead, headAfterFirstSubmit);
|
||||||
@@ -138,7 +139,7 @@ public class SubmitByFastForwardIT extends AbstractSubmit {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitSameCommitsAsInExperimentalBranch() throws Throwable {
|
public void submitSameCommitsAsInExperimentalBranch() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
projectOperations
|
projectOperations
|
||||||
.project(project)
|
.project(project)
|
||||||
@@ -158,9 +159,9 @@ public class SubmitByFastForwardIT extends AbstractSubmit {
|
|||||||
.isEqualTo(c1.getId());
|
.isEqualTo(c1.getId());
|
||||||
|
|
||||||
submit(id1);
|
submit(id1);
|
||||||
RevCommit headAfterSubmit = getRemoteHead();
|
RevCommit headAfterSubmit = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
assertThat(getRemoteHead().getId()).isEqualTo(c1.getId());
|
assertThat(projectOperations.project(project).getHead("master").getId()).isEqualTo(c1.getId());
|
||||||
assertSubmitter(id1, 1);
|
assertSubmitter(id1, 1);
|
||||||
|
|
||||||
assertRefUpdatedEvents(initialHead, headAfterSubmit);
|
assertRefUpdatedEvents(initialHead, headAfterSubmit);
|
||||||
|
|||||||
@@ -30,10 +30,10 @@ public class SubmitByMergeAlwaysIT extends AbstractSubmitByMerge {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitWithMergeIfFastForwardPossible() throws Throwable {
|
public void submitWithMergeIfFastForwardPossible() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change = createChange();
|
PushOneCommit.Result change = createChange();
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
RevCommit headAfterSubmit = getRemoteHead();
|
RevCommit headAfterSubmit = projectOperations.project(project).getHead("master");
|
||||||
assertThat(headAfterSubmit.getParentCount()).isEqualTo(2);
|
assertThat(headAfterSubmit.getParentCount()).isEqualTo(2);
|
||||||
assertThat(headAfterSubmit.getParent(0)).isEqualTo(initialHead);
|
assertThat(headAfterSubmit.getParent(0)).isEqualTo(initialHead);
|
||||||
assertThat(headAfterSubmit.getParent(1)).isEqualTo(change.getCommit());
|
assertThat(headAfterSubmit.getParent(1)).isEqualTo(change.getCommit());
|
||||||
@@ -47,7 +47,7 @@ public class SubmitByMergeAlwaysIT extends AbstractSubmitByMerge {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitMultipleChanges() throws Throwable {
|
public void submitMultipleChanges() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
// Submit a change so that the remote head advances
|
// Submit a change so that the remote head advances
|
||||||
PushOneCommit.Result change = createChange("Change 1", "b", "b");
|
PushOneCommit.Result change = createChange("Change 1", "b", "b");
|
||||||
|
|||||||
@@ -68,10 +68,10 @@ public class SubmitByMergeIfNecessaryIT extends AbstractSubmitByMerge {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitWithFastForward() throws Throwable {
|
public void submitWithFastForward() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change = createChange();
|
PushOneCommit.Result change = createChange();
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
RevCommit updatedHead = getRemoteHead();
|
RevCommit updatedHead = projectOperations.project(project).getHead("master");
|
||||||
assertThat(updatedHead.getId()).isEqualTo(change.getCommit());
|
assertThat(updatedHead.getId()).isEqualTo(change.getCommit());
|
||||||
assertThat(updatedHead.getParent(0)).isEqualTo(initialHead);
|
assertThat(updatedHead.getParent(0)).isEqualTo(initialHead);
|
||||||
assertSubmitter(change.getChangeId(), 1);
|
assertSubmitter(change.getChangeId(), 1);
|
||||||
@@ -84,7 +84,7 @@ public class SubmitByMergeIfNecessaryIT extends AbstractSubmitByMerge {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitMultipleChanges() throws Throwable {
|
public void submitMultipleChanges() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
testRepo.reset(initialHead);
|
testRepo.reset(initialHead);
|
||||||
PushOneCommit.Result change = createChange("Change 1", "b", "b");
|
PushOneCommit.Result change = createChange("Change 1", "b", "b");
|
||||||
@@ -145,8 +145,8 @@ public class SubmitByMergeIfNecessaryIT extends AbstractSubmitByMerge {
|
|||||||
Project.NameKey p2 = projectOperations.newProject().create();
|
Project.NameKey p2 = projectOperations.newProject().create();
|
||||||
Project.NameKey p3 = projectOperations.newProject().create();
|
Project.NameKey p3 = projectOperations.newProject().create();
|
||||||
|
|
||||||
RevCommit initialHead2 = getRemoteHead(p2, "master");
|
RevCommit initialHead2 = projectOperations.project(p2).getHead("master");
|
||||||
RevCommit initialHead3 = getRemoteHead(p3, "master");
|
RevCommit initialHead3 = projectOperations.project(p3).getHead("master");
|
||||||
|
|
||||||
TestRepository<?> repo1 = cloneProject(p1);
|
TestRepository<?> repo1 = cloneProject(p1);
|
||||||
TestRepository<?> repo2 = cloneProject(p2);
|
TestRepository<?> repo2 = cloneProject(p2);
|
||||||
@@ -226,9 +226,9 @@ public class SubmitByMergeIfNecessaryIT extends AbstractSubmitByMerge {
|
|||||||
TestRepository<?> repo2 = cloneProject(p2);
|
TestRepository<?> repo2 = cloneProject(p2);
|
||||||
TestRepository<?> repo3 = cloneProject(p3);
|
TestRepository<?> repo3 = cloneProject(p3);
|
||||||
|
|
||||||
RevCommit initialHead1 = getRemoteHead(p1, "master");
|
RevCommit initialHead1 = projectOperations.project(p1).getHead("master");
|
||||||
RevCommit initialHead2 = getRemoteHead(p2, "master");
|
RevCommit initialHead2 = projectOperations.project(p2).getHead("master");
|
||||||
RevCommit initialHead3 = getRemoteHead(p3, "master");
|
RevCommit initialHead3 = projectOperations.project(p3).getHead("master");
|
||||||
|
|
||||||
PushOneCommit.Result change1a =
|
PushOneCommit.Result change1a =
|
||||||
createChange(
|
createChange(
|
||||||
@@ -315,12 +315,12 @@ public class SubmitByMergeIfNecessaryIT extends AbstractSubmitByMerge {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitWithMergedAncestorsOnOtherBranch() throws Throwable {
|
public void submitWithMergedAncestorsOnOtherBranch() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
PushOneCommit.Result change1 =
|
PushOneCommit.Result change1 =
|
||||||
createChange(testRepo, "master", "base commit", "a.txt", "1", "");
|
createChange(testRepo, "master", "base commit", "a.txt", "1", "");
|
||||||
submit(change1.getChangeId());
|
submit(change1.getChangeId());
|
||||||
RevCommit headAfterFirstSubmit = getRemoteHead();
|
RevCommit headAfterFirstSubmit = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
gApi.projects().name(project.get()).branch("branch").create(new BranchInput());
|
gApi.projects().name(project.get()).branch("branch").create(new BranchInput());
|
||||||
|
|
||||||
@@ -364,11 +364,11 @@ public class SubmitByMergeIfNecessaryIT extends AbstractSubmitByMerge {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void submitWithOpenAncestorsOnOtherBranch() throws Throwable {
|
public void submitWithOpenAncestorsOnOtherBranch() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change1 =
|
PushOneCommit.Result change1 =
|
||||||
createChange(testRepo, "master", "base commit", "a.txt", "1", "");
|
createChange(testRepo, "master", "base commit", "a.txt", "1", "");
|
||||||
submit(change1.getChangeId());
|
submit(change1.getChangeId());
|
||||||
RevCommit headAfterFirstSubmit = getRemoteHead();
|
RevCommit headAfterFirstSubmit = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
gApi.projects().name(project.get()).branch("branch").create(new BranchInput());
|
gApi.projects().name(project.get()).branch("branch").create(new BranchInput());
|
||||||
|
|
||||||
@@ -396,7 +396,7 @@ public class SubmitByMergeIfNecessaryIT extends AbstractSubmitByMerge {
|
|||||||
|
|
||||||
Project.NameKey p3 = projectOperations.newProject().create();
|
Project.NameKey p3 = projectOperations.newProject().create();
|
||||||
TestRepository<?> repo3 = cloneProject(p3);
|
TestRepository<?> repo3 = cloneProject(p3);
|
||||||
RevCommit repo3Head = getRemoteHead(p3, "master");
|
RevCommit repo3Head = projectOperations.project(p3).getHead("master");
|
||||||
PushOneCommit.Result change3b =
|
PushOneCommit.Result change3b =
|
||||||
createChange(
|
createChange(
|
||||||
repo3,
|
repo3,
|
||||||
@@ -437,7 +437,7 @@ public class SubmitByMergeIfNecessaryIT extends AbstractSubmitByMerge {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void gerritWorkflow() throws Throwable {
|
public void gerritWorkflow() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
// We'll setup a master and a stable branch.
|
// We'll setup a master and a stable branch.
|
||||||
// Then we create a change to be applied to master, which is
|
// Then we create a change to be applied to master, which is
|
||||||
@@ -463,8 +463,8 @@ public class SubmitByMergeIfNecessaryIT extends AbstractSubmitByMerge {
|
|||||||
gApi.changes().id(cherryId).current().submit();
|
gApi.changes().id(cherryId).current().submit();
|
||||||
|
|
||||||
// Create the merge locally
|
// Create the merge locally
|
||||||
RevCommit stable = getRemoteHead(project, "stable");
|
RevCommit stable = projectOperations.project(project).getHead("stable");
|
||||||
RevCommit master = getRemoteHead(project, "master");
|
RevCommit master = projectOperations.project(project).getHead("master");
|
||||||
testRepo.git().fetch().call();
|
testRepo.git().fetch().call();
|
||||||
testRepo.git().branchCreate().setName("stable").setStartPoint(stable).call();
|
testRepo.git().branchCreate().setName("stable").setStartPoint(stable).call();
|
||||||
testRepo.git().branchCreate().setName("master").setStartPoint(master).call();
|
testRepo.git().branchCreate().setName("master").setStartPoint(master).call();
|
||||||
|
|||||||
@@ -53,11 +53,11 @@ public class SubmitByRebaseAlwaysIT extends AbstractSubmitByRebase {
|
|||||||
@Test
|
@Test
|
||||||
@TestProjectInput(useContentMerge = InheritableBoolean.TRUE)
|
@TestProjectInput(useContentMerge = InheritableBoolean.TRUE)
|
||||||
public void submitWithPossibleFastForward() throws Throwable {
|
public void submitWithPossibleFastForward() throws Throwable {
|
||||||
RevCommit oldHead = getRemoteHead();
|
RevCommit oldHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change = createChange();
|
PushOneCommit.Result change = createChange();
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
|
|
||||||
RevCommit head = getRemoteHead();
|
RevCommit head = projectOperations.project(project).getHead("master");
|
||||||
assertThat(head.getId()).isNotEqualTo(change.getCommit());
|
assertThat(head.getId()).isNotEqualTo(change.getCommit());
|
||||||
assertThat(head.getParent(0)).isEqualTo(oldHead);
|
assertThat(head.getParent(0)).isEqualTo(oldHead);
|
||||||
assertApproved(change.getChangeId());
|
assertApproved(change.getChangeId());
|
||||||
|
|||||||
@@ -33,10 +33,10 @@ public class SubmitByRebaseIfNecessaryIT extends AbstractSubmitByRebase {
|
|||||||
@Test
|
@Test
|
||||||
@TestProjectInput(useContentMerge = InheritableBoolean.TRUE)
|
@TestProjectInput(useContentMerge = InheritableBoolean.TRUE)
|
||||||
public void submitWithFastForward() throws Throwable {
|
public void submitWithFastForward() throws Throwable {
|
||||||
RevCommit oldHead = getRemoteHead();
|
RevCommit oldHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change = createChange();
|
PushOneCommit.Result change = createChange();
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
RevCommit head = getRemoteHead();
|
RevCommit head = projectOperations.project(project).getHead("master");
|
||||||
assertThat(head.getId()).isEqualTo(change.getCommit());
|
assertThat(head.getId()).isEqualTo(change.getCommit());
|
||||||
assertThat(head.getParent(0)).isEqualTo(oldHead);
|
assertThat(head.getParent(0)).isEqualTo(oldHead);
|
||||||
assertApproved(change.getChangeId());
|
assertApproved(change.getChangeId());
|
||||||
@@ -51,19 +51,19 @@ public class SubmitByRebaseIfNecessaryIT extends AbstractSubmitByRebase {
|
|||||||
@Test
|
@Test
|
||||||
@TestProjectInput(useContentMerge = InheritableBoolean.TRUE)
|
@TestProjectInput(useContentMerge = InheritableBoolean.TRUE)
|
||||||
public void submitWithContentMerge() throws Throwable {
|
public void submitWithContentMerge() throws Throwable {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change = createChange("Change 1", "a.txt", "aaa\nbbb\nccc\n");
|
PushOneCommit.Result change = createChange("Change 1", "a.txt", "aaa\nbbb\nccc\n");
|
||||||
submit(change.getChangeId());
|
submit(change.getChangeId());
|
||||||
RevCommit headAfterFirstSubmit = getRemoteHead();
|
RevCommit headAfterFirstSubmit = projectOperations.project(project).getHead("master");
|
||||||
PushOneCommit.Result change2 = createChange("Change 2", "a.txt", "aaa\nbbb\nccc\nddd\n");
|
PushOneCommit.Result change2 = createChange("Change 2", "a.txt", "aaa\nbbb\nccc\nddd\n");
|
||||||
submit(change2.getChangeId());
|
submit(change2.getChangeId());
|
||||||
|
|
||||||
RevCommit headAfterSecondSubmit = getRemoteHead();
|
RevCommit headAfterSecondSubmit = projectOperations.project(project).getHead("master");
|
||||||
testRepo.reset(change.getCommit());
|
testRepo.reset(change.getCommit());
|
||||||
PushOneCommit.Result change3 = createChange("Change 3", "a.txt", "bbb\nccc\n");
|
PushOneCommit.Result change3 = createChange("Change 3", "a.txt", "bbb\nccc\n");
|
||||||
submit(change3.getChangeId());
|
submit(change3.getChangeId());
|
||||||
assertRebase(testRepo, true);
|
assertRebase(testRepo, true);
|
||||||
RevCommit headAfterThirdSubmit = getRemoteHead();
|
RevCommit headAfterThirdSubmit = projectOperations.project(project).getHead("master");
|
||||||
assertThat(headAfterThirdSubmit.getParent(0)).isEqualTo(headAfterSecondSubmit);
|
assertThat(headAfterThirdSubmit.getParent(0)).isEqualTo(headAfterSecondSubmit);
|
||||||
assertApproved(change3.getChangeId());
|
assertApproved(change3.getChangeId());
|
||||||
assertCurrentRevision(change3.getChangeId(), 2, headAfterThirdSubmit);
|
assertCurrentRevision(change3.getChangeId(), 2, headAfterThirdSubmit);
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ public abstract class AbstractPushTag extends AbstractDaemonTest {
|
|||||||
// clone with user to avoid inherited tag permissions of admin user
|
// clone with user to avoid inherited tag permissions of admin user
|
||||||
testRepo = cloneProject(project, user);
|
testRepo = cloneProject(project, user);
|
||||||
|
|
||||||
initialHead = getRemoteHead();
|
initialHead = projectOperations.project(project).getHead("master");
|
||||||
tagType = getTagType();
|
tagType = getTagType();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -127,7 +127,7 @@ public class AccessIT extends AbstractDaemonTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void addAccessSection() throws Exception {
|
public void addAccessSection() throws Exception {
|
||||||
RevCommit initialHead = getRemoteHead(newProjectName, RefNames.REFS_CONFIG);
|
RevCommit initialHead = projectOperations.project(newProjectName).getHead(RefNames.REFS_CONFIG);
|
||||||
|
|
||||||
ProjectAccessInput accessInput = newProjectAccessInput();
|
ProjectAccessInput accessInput = newProjectAccessInput();
|
||||||
AccessSectionInfo accessSectionInfo = createDefaultAccessSectionInfo();
|
AccessSectionInfo accessSectionInfo = createDefaultAccessSectionInfo();
|
||||||
@@ -137,7 +137,7 @@ public class AccessIT extends AbstractDaemonTest {
|
|||||||
|
|
||||||
assertThat(pApi().access().local).isEqualTo(accessInput.add);
|
assertThat(pApi().access().local).isEqualTo(accessInput.add);
|
||||||
|
|
||||||
RevCommit updatedHead = getRemoteHead(newProjectName, RefNames.REFS_CONFIG);
|
RevCommit updatedHead = projectOperations.project(newProjectName).getHead(RefNames.REFS_CONFIG);
|
||||||
eventRecorder.assertRefUpdatedEvents(
|
eventRecorder.assertRefUpdatedEvents(
|
||||||
newProjectName.get(), RefNames.REFS_CONFIG, null, initialHead, initialHead, updatedHead);
|
newProjectName.get(), RefNames.REFS_CONFIG, null, initialHead, initialHead, updatedHead);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ public class CheckMergeabilityIT extends AbstractDaemonTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void checkMergeableCommit() throws Exception {
|
public void checkMergeableCommit() throws Exception {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
testRepo
|
testRepo
|
||||||
.branch("HEAD")
|
.branch("HEAD")
|
||||||
.commit()
|
.commit()
|
||||||
@@ -79,7 +79,7 @@ public class CheckMergeabilityIT extends AbstractDaemonTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void checkUnMergeableCommit() throws Exception {
|
public void checkUnMergeableCommit() throws Exception {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
testRepo
|
testRepo
|
||||||
.branch("HEAD")
|
.branch("HEAD")
|
||||||
.commit()
|
.commit()
|
||||||
@@ -114,7 +114,7 @@ public class CheckMergeabilityIT extends AbstractDaemonTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void checkOursMergeStrategy() throws Exception {
|
public void checkOursMergeStrategy() throws Exception {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
testRepo
|
testRepo
|
||||||
.branch("HEAD")
|
.branch("HEAD")
|
||||||
.commit()
|
.commit()
|
||||||
@@ -208,7 +208,7 @@ public class CheckMergeabilityIT extends AbstractDaemonTest {
|
|||||||
cherry.current().review(ReviewInput.approve());
|
cherry.current().review(ReviewInput.approve());
|
||||||
cherry.current().submit();
|
cherry.current().submit();
|
||||||
|
|
||||||
ObjectId remoteId = getRemoteHead();
|
ObjectId remoteId = projectOperations.project(project).getHead("master");
|
||||||
assertThat(remoteId).isNotEqualTo(commitId);
|
assertThat(remoteId).isNotEqualTo(commitId);
|
||||||
assertContentMerged("master", commitId.getName(), "recursive");
|
assertContentMerged("master", commitId.getName(), "recursive");
|
||||||
}
|
}
|
||||||
@@ -234,7 +234,7 @@ public class CheckMergeabilityIT extends AbstractDaemonTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void checkInvalidStrategy() throws Exception {
|
public void checkInvalidStrategy() throws Exception {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
testRepo
|
testRepo
|
||||||
.branch("HEAD")
|
.branch("HEAD")
|
||||||
.commit()
|
.commit()
|
||||||
|
|||||||
@@ -169,7 +169,7 @@ public class DeleteBranchesIT extends AbstractDaemonTest {
|
|||||||
private HashMap<String, RevCommit> initialRevisions(List<String> branches) throws Exception {
|
private HashMap<String, RevCommit> initialRevisions(List<String> branches) throws Exception {
|
||||||
HashMap<String, RevCommit> result = new HashMap<>();
|
HashMap<String, RevCommit> result = new HashMap<>();
|
||||||
for (String branch : branches) {
|
for (String branch : branches) {
|
||||||
result.put(branch, getRemoteHead(project, branch));
|
result.put(branch, projectOperations.project(project).getHead(branch));
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ public class DeleteTagsIT extends AbstractDaemonTest {
|
|||||||
HashMap<String, RevCommit> result = new HashMap<>();
|
HashMap<String, RevCommit> result = new HashMap<>();
|
||||||
for (String tag : tags) {
|
for (String tag : tags) {
|
||||||
String ref = prefixRef(tag);
|
String ref = prefixRef(tag);
|
||||||
result.put(ref, getRemoteHead(project, ref));
|
result.put(ref, projectOperations.project(project).getHead(ref));
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ public class ListBranchesIT extends AbstractDaemonTest {
|
|||||||
public void listBranches() throws Exception {
|
public void listBranches() throws Exception {
|
||||||
String master = pushTo("refs/heads/master").getCommit().name();
|
String master = pushTo("refs/heads/master").getCommit().name();
|
||||||
String dev = pushTo("refs/heads/dev").getCommit().name();
|
String dev = pushTo("refs/heads/dev").getCommit().name();
|
||||||
String refsConfig = getRemoteHead(project, RefNames.REFS_CONFIG).name();
|
String refsConfig = projectOperations.project(project).getHead(RefNames.REFS_CONFIG).name();
|
||||||
assertRefs(
|
assertRefs(
|
||||||
ImmutableList.of(
|
ImmutableList.of(
|
||||||
branch("HEAD", "master", false),
|
branch("HEAD", "master", false),
|
||||||
@@ -114,7 +114,10 @@ public class ListBranchesIT extends AbstractDaemonTest {
|
|||||||
public void listBranchesUsingPagination() throws Exception {
|
public void listBranchesUsingPagination() throws Exception {
|
||||||
BranchInfo head = branch("HEAD", "master", false);
|
BranchInfo head = branch("HEAD", "master", false);
|
||||||
BranchInfo refsConfig =
|
BranchInfo refsConfig =
|
||||||
branch(RefNames.REFS_CONFIG, getRemoteHead(project, RefNames.REFS_CONFIG).name(), false);
|
branch(
|
||||||
|
RefNames.REFS_CONFIG,
|
||||||
|
projectOperations.project(project).getHead(RefNames.REFS_CONFIG).name(),
|
||||||
|
false);
|
||||||
BranchInfo master =
|
BranchInfo master =
|
||||||
branch("refs/heads/master", pushTo("refs/heads/master").getCommit().getName(), false);
|
branch("refs/heads/master", pushTo("refs/heads/master").getCommit().getName(), false);
|
||||||
BranchInfo branch1 =
|
BranchInfo branch1 =
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ public class SubmittedTogetherIT extends AbstractDaemonTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void respectWholeTopic() throws Exception {
|
public void respectWholeTopic() throws Exception {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
// Create two independent commits and push.
|
// Create two independent commits and push.
|
||||||
RevCommit c1_1 = commitBuilder().add("a.txt", "1").message("subject: 1").create();
|
RevCommit c1_1 = commitBuilder().add("a.txt", "1").message("subject: 1").create();
|
||||||
String id1 = getChangeId(c1_1);
|
String id1 = getChangeId(c1_1);
|
||||||
@@ -135,7 +135,7 @@ public class SubmittedTogetherIT extends AbstractDaemonTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void anonymousWholeTopic() throws Exception {
|
public void anonymousWholeTopic() throws Exception {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
RevCommit a = commitBuilder().add("a", "1").message("change 1").create();
|
RevCommit a = commitBuilder().add("a", "1").message("change 1").create();
|
||||||
pushHead(testRepo, "refs/for/master/" + name("topic"), false);
|
pushHead(testRepo, "refs/for/master/" + name("topic"), false);
|
||||||
String id1 = getChangeId(a);
|
String id1 = getChangeId(a);
|
||||||
@@ -157,7 +157,7 @@ public class SubmittedTogetherIT extends AbstractDaemonTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void topicChaining() throws Exception {
|
public void topicChaining() throws Exception {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
RevCommit c1_1 = commitBuilder().add("a.txt", "1").message("subject: 1").create();
|
RevCommit c1_1 = commitBuilder().add("a.txt", "1").message("subject: 1").create();
|
||||||
String id1 = getChangeId(c1_1);
|
String id1 = getChangeId(c1_1);
|
||||||
@@ -185,7 +185,7 @@ public class SubmittedTogetherIT extends AbstractDaemonTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void respectTopicsOnAncestors() throws Exception {
|
public void respectTopicsOnAncestors() throws Exception {
|
||||||
RevCommit initialHead = getRemoteHead();
|
RevCommit initialHead = projectOperations.project(project).getHead("master");
|
||||||
|
|
||||||
RevCommit c1_1 = commitBuilder().add("a.txt", "1").message("subject: 1").create();
|
RevCommit c1_1 = commitBuilder().add("a.txt", "1").message("subject: 1").create();
|
||||||
String id1 = getChangeId(c1_1);
|
String id1 = getChangeId(c1_1);
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ public class RulesIT extends AbstractDaemonTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private SubmitRecord.Status statusForRule() throws Exception {
|
private SubmitRecord.Status statusForRule() throws Exception {
|
||||||
String oldHead = getRemoteHead().name();
|
String oldHead = projectOperations.project(project).getHead("master").name();
|
||||||
PushOneCommit.Result result1 =
|
PushOneCommit.Result result1 =
|
||||||
pushFactory.create(user.newIdent(), testRepo).to("refs/for/master");
|
pushFactory.create(user.newIdent(), testRepo).to("refs/for/master");
|
||||||
testRepo.reset(oldHead);
|
testRepo.reset(oldHead);
|
||||||
|
|||||||
Reference in New Issue
Block a user