summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Zu <bruce.zu@sonymobile.com>2014-04-23 12:38:22 +0800
committerBruce Zu <bruce.zu@sonymobile.com>2014-04-23 05:09:16 +0000
commit6e46e30d2057c620452dab30087eb5f90a298f3b (patch)
treee29ea81ce139664e0dc0c2b2ec43edf26c0de246
parent977072b8ca3e26b97e077f9bd3b2a2ed52a50b02 (diff)
Fix: wrongly throw 'commit already exists' exception
The reason is the ReplaceRequest.validate() should compare to 'newCommit' of ReplaceRequest instance, else when ReceiveCommits.autoCloseChanges() working on the second one of a series of commits, the 'commit already exists(in the project)' will be thrown wrongly. Fixed. Bug: issue 2607 Change-Id: Ib4db351d39f85d57ccf532da4d6422bdcbb88105
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java2
1 files changed, 1 insertions, 1 deletions
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 94d209b8e3..475e24a318 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
@@ -1714,7 +1714,7 @@ public class ReceiveCommits {
for (final Ref r : rp.getRepository().getRefDatabase()
.getRefs("refs/changes").values()) {
- if (r.getObjectId().equals(inputCommand.getNewId())) {
+ if (r.getObjectId().equals(newCommit)) {
reject(inputCommand, "commit already exists (in the project)");
return false;
}