diff options
author | Bruce Zu <bruce.zu@sonymobile.com> | 2014-04-23 12:38:22 +0800 |
---|---|---|
committer | Bruce Zu <bruce.zu@sonymobile.com> | 2014-04-23 05:09:16 +0000 |
commit | 6e46e30d2057c620452dab30087eb5f90a298f3b (patch) | |
tree | e29ea81ce139664e0dc0c2b2ec43edf26c0de246 | |
parent | 977072b8ca3e26b97e077f9bd3b2a2ed52a50b02 (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.java | 2 |
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; } |