Merge "Fix: 'change_key' of current patchset pushed by 'refs/changes' is still old one." into stable-2.6
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java
index a5478ab..0a52782 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java
@@ -1810,6 +1810,14 @@
}
change.setLastSha1MergeTested(null);
change.setCurrentPatchSet(info);
+
+ final List<String> idList = newCommit.getFooterLines(CHANGE_ID);
+ if (idList.isEmpty()) {
+ change.setKey(new Change.Key("I" + newCommit.name()));
+ } else {
+ change.setKey(new Change.Key(idList.get(idList.size() - 1).trim()));
+ }
+
ChangeUtil.updated(change);
return change;
}