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;
                 }