Merge "Revert "Upstream +2 should not override merge conflict -2.""
diff --git a/src/main/java/com/googlesource/gerrit/plugins/automerger/ConfigLoader.java b/src/main/java/com/googlesource/gerrit/plugins/automerger/ConfigLoader.java
index e6e298d..2ecb88b 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/automerger/ConfigLoader.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/automerger/ConfigLoader.java
@@ -240,18 +240,10 @@
return message;
}
- public short getMaxAutomergeVote() throws ConfigInvalidException {
- return (short) getConfig().getInt("global", "maxAutomergeVote", 2);
- }
-
public short getMinAutomergeVote() throws ConfigInvalidException {
return (short) getConfig().getInt("global", "minAutomergeVote", -2);
}
- public boolean maxAutomergeVoteDisabled() throws ConfigInvalidException {
- return getConfig().getBoolean("global", "disableMaxAutomergeVote", false);
- }
-
public boolean minAutomergeVoteDisabled() throws ConfigInvalidException {
return getConfig().getBoolean("global", "disableMinAutomergeVote", false);
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreator.java b/src/main/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreator.java
index 5a8e380..fae8344 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreator.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreator.java
@@ -521,12 +521,8 @@
}
ChangeApi downstreamChange = gApi.changes().create(downstreamChangeInput);
-
- // Vote maxAutomergeVote on the change so we know it was successful.
- if (!config.maxAutomergeVoteDisabled()) {
- updateVote(
- downstreamChange.get(), config.getAutomergeLabel(), config.getMaxAutomergeVote());
- }
+ tagChange(downstreamChange.get(), "Automerger change created!");
+
}
}
@@ -658,10 +654,22 @@
log.error("Automerger could not set label, but still continuing.", e);
}
}
+
+ private void tagChange(ChangeInfo change, String message) throws RestApiException {
+ ReviewInput reviewInput = new ReviewInput();
+ reviewInput.message(message);
+ reviewInput.notify = NotifyHandling.NONE;
+ reviewInput.tag = AUTOMERGER_TAG;
+ try {
+ gApi.changes().id(change.id).revision(CURRENT).review(reviewInput);
+ } catch (AuthException e) {
+ log.error("Automerger could not set label, but still continuing.", e);
+ }
+ }
private void updateDownstreamMerge(
String newParentRevision, String upstreamSubject, Integer sourceNum, boolean doMerge)
- throws RestApiException, ConfigInvalidException {
+ throws RestApiException {
MergeInput mergeInput = new MergeInput();
mergeInput.source = newParentRevision;
@@ -685,10 +693,7 @@
originalChange.restore(restoreInput);
}
- ChangeInfo downstreamChange = originalChange.createMergePatchSet(mergePatchSetInput);
- if (!config.maxAutomergeVoteDisabled()) {
- updateVote(downstreamChange, config.getAutomergeLabel(), config.getMaxAutomergeVote());
- }
+ originalChange.createMergePatchSet(mergePatchSetInput);
}
private String getPreviousRevision(ChangeApi change, int currentPatchSetNumber)
diff --git a/src/main/resources/Documentation/config.md b/src/main/resources/Documentation/config.md
index d4b0a38..a1752b1 100644
--- a/src/main/resources/Documentation/config.md
+++ b/src/main/resources/Documentation/config.md
@@ -31,16 +31,6 @@
When the automerger detects a merge conflict from one branch to another, it
will vote minAutomergeVote on this label.
-global.maxAutomergeVote
-: Value to vote on a successful automerge.
-
- When the automerger succeeds in merging downstream, it will vote
- maxAutomergeVote on the downstream change. The original change uploaded by
- the user will have a vote of 0, so that it can be easily programatically
- distinguished from the otheres.
-
- Will not vote if disableMaxAutomergeVote is true.
-
global.minAutomergeVote
: Value to vote on a failed automerge.
@@ -49,12 +39,6 @@
Will not vote if disableMinAutomergeVote is true.
-global.disableMaxAutomergeVote
-: Whether to vote on a successful automerge.
-
- If true, will not vote maxAutomergeVote on a successful downstream merge.
- Defaults to false.
-
global.disableMinAutomergeVote
: Whether to vote on a failed automerge.
diff --git a/src/test/java/com/googlesource/gerrit/plugins/automerger/ConfigLoaderIT.java b/src/test/java/com/googlesource/gerrit/plugins/automerger/ConfigLoaderIT.java
index 1a041b7..d692e95 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/automerger/ConfigLoaderIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/automerger/ConfigLoaderIT.java
@@ -204,30 +204,12 @@
}
@Test
- public void getMaxAutomergeVoteTest() throws Exception {
- defaultSetup("alternate.config");
- assertThat(configLoader.getMaxAutomergeVote()).isEqualTo(5);
- }
-
- @Test
public void getMinAutomergeVoteTest() throws Exception {
defaultSetup("alternate.config");
assertThat(configLoader.getMinAutomergeVote()).isEqualTo(-3);
}
@Test
- public void maxAutomergeVoteDisabledTest() throws Exception {
- defaultSetup("automerger.config");
- assertThat(configLoader.maxAutomergeVoteDisabled()).isFalse();
- }
-
- @Test
- public void maxAutomergeVoteDisabledTest_isDisabled() throws Exception {
- defaultSetup("alternate.config");
- assertThat(configLoader.maxAutomergeVoteDisabled()).isTrue();
- }
-
- @Test
public void minAutomergeVoteDisabledTest() throws Exception {
defaultSetup("automerger.config");
assertThat(configLoader.minAutomergeVoteDisabled()).isFalse();
diff --git a/src/test/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreatorIT.java b/src/test/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreatorIT.java
index 552683d..cd36f2d 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreatorIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreatorIT.java
@@ -83,25 +83,24 @@
.withOption(ListChangesOption.CURRENT_REVISION)
.get();
assertThat(changesInTopic).hasSize(3);
- // +2 and submit
- merge(result);
+
List<ChangeInfo> sortedChanges = sortedChanges(changesInTopic);
ChangeInfo dsOneChangeInfo = sortedChanges.get(0);
assertThat(dsOneChangeInfo.branch).isEqualTo("ds_one");
ChangeApi dsOneChange = gApi.changes().id(dsOneChangeInfo._number);
- assertThat(getVote(dsOneChange, "Code-Review").value).isEqualTo(2);
+ assertThat(getVote(dsOneChange, "Code-Review").value).isEqualTo(0);
assertThat(getVote(dsOneChange, "Code-Review").tag).isEqualTo("autogenerated:Automerger");
ChangeInfo dsTwoChangeInfo = sortedChanges.get(1);
assertThat(dsTwoChangeInfo.branch).isEqualTo("ds_two");
ChangeApi dsTwoChange = gApi.changes().id(dsTwoChangeInfo._number);
- assertThat(getVote(dsTwoChange, "Code-Review").value).isEqualTo(2);
+ assertThat(getVote(dsTwoChange, "Code-Review").value).isEqualTo(0);
assertThat(getVote(dsTwoChange, "Code-Review").tag).isEqualTo("autogenerated:Automerger");
ChangeInfo masterChangeInfo = sortedChanges.get(2);
ChangeApi masterChange = gApi.changes().id(masterChangeInfo._number);
- assertThat(getVote(masterChange, "Code-Review").value).isEqualTo(2);
+ assertThat(getVote(masterChange, "Code-Review").value).isEqualTo(0);
assertThat(getVote(masterChange, "Code-Review").tag).isEqualTo(null);
assertThat(masterChangeInfo.branch).isEqualTo("master");
@@ -113,6 +112,12 @@
.isEqualTo("[automerger] " + masterSubject + " am: " + shortMasterSha);
assertThat(dsTwoChangeInfo.subject)
.isEqualTo("[automerger] " + masterSubject + " am: " + shortMasterSha);
+
+ // +2 and submit
+ merge(result);
+ assertThat(getVote(masterChange, "Code-Review").value).isEqualTo(2);
+ assertThat(getVote(dsOneChange, "Code-Review").value).isEqualTo(2);
+ assertThat(getVote(dsTwoChange, "Code-Review").value).isEqualTo(2);
}
@Test
diff --git a/src/test/resources/com/googlesource/gerrit/plugins/automerger/alternate.config b/src/test/resources/com/googlesource/gerrit/plugins/automerger/alternate.config
index ed3c829..19d69c1 100644
--- a/src/test/resources/com/googlesource/gerrit/plugins/automerger/alternate.config
+++ b/src/test/resources/com/googlesource/gerrit/plugins/automerger/alternate.config
@@ -12,9 +12,7 @@
blankMerge = .*DO NOT MERGE.*
manifestFile = default.xml
manifestProject = platform/manifest
- maxAutomergeVote = 5
minAutomergeVote = -3
- disableMaxAutomergeVote = true
ignoreProjects = platform/ignore/me
conflictMessage = line1\n\
line2\n\