diff --git a/gerrit-gwtui-common/src/main/java/com/google/gerrit/client/info/ChangeInfo.java b/gerrit-gwtui-common/src/main/java/com/google/gerrit/client/info/ChangeInfo.java index dd88b04fd8..cace7ad1ff 100644 --- a/gerrit-gwtui-common/src/main/java/com/google/gerrit/client/info/ChangeInfo.java +++ b/gerrit-gwtui-common/src/main/java/com/google/gerrit/client/info/ChangeInfo.java @@ -329,6 +329,12 @@ public class ChangeInfo extends JavaScriptObject { } public static int findEditParent(JsArray list) { + RevisionInfo r = findEditParentRevision(list); + return r == null ? -1 : r._number(); + } + + public static RevisionInfo findEditParentRevision( + JsArray list) { for (int i = 0; i < list.length(); i++) { // edit under revisions? RevisionInfo editInfo = list.get(i); @@ -340,12 +346,12 @@ public class ChangeInfo extends JavaScriptObject { String name = parentInfo.name(); if (name.equals(parentRevision)) { // found parent pacth set number - return parentInfo._number(); + return parentInfo; } } } } - return -1; + return null; } public final String id() { diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen.java index eabf0e5e87..2673f49b67 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen.java @@ -881,7 +881,12 @@ public class ChangeScreen extends Screen { CallbackGroup group = new CallbackGroup(); Timestamp lastReply = myLastReply(info); if (rev.isEdit()) { - loadFileList(b, rev, lastReply, group, null, null); + // Comments are filtered for the current revision. Use parent + // patch set for edits, as edits themself can never have comments. + RevisionInfo p = RevisionInfo.findEditParentRevision( + info.revisions().values()); + List>> comments = loadComments(p, group); + loadFileList(b, rev, lastReply, group, comments, null); } else { loadDiff(b, rev, lastReply, group); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountManager.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountManager.java index 7de3d64e1e..4a9d2633f9 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountManager.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountManager.java @@ -14,6 +14,7 @@ package com.google.gerrit.server.account; +import com.google.common.base.Strings; import com.google.gerrit.audit.AuditService; import com.google.gerrit.common.TimeUtil; import com.google.gerrit.common.data.AccessSection; @@ -175,7 +176,7 @@ public class AccountManager { } if (!realm.allowsEdit(Account.FieldName.FULL_NAME) - && who.getDisplayName() != null + && !Strings.isNullOrEmpty(who.getDisplayName()) && !eq(user.getAccount().getFullName(), who.getDisplayName())) { toUpdate = load(toUpdate, user.getAccountId(), db); toUpdate.setFullName(who.getDisplayName()); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/validators/CommitValidators.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/validators/CommitValidators.java index a48260e461..6ac5707e3a 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/validators/CommitValidators.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/validators/CommitValidators.java @@ -564,8 +564,10 @@ public class CommitValidators { IdentifiedUser user = refControl.getUser().asIdentifiedUser(); String refname = receiveEvent.refName; - ObjectId old = receiveEvent.commit.getParent(0); - + ObjectId old = ObjectId.zeroId(); + if (receiveEvent.commit.getParentCount() > 0) { + old = receiveEvent.commit.getParent(0); + } if (receiveEvent.command.getRefName().startsWith(REFS_CHANGES)) { /* * If the ref-update hook tries to distinguish behavior between pushes to diff --git a/gerrit-sshd/BUCK b/gerrit-sshd/BUCK index dcff98e6b2..5a7b539acb 100644 --- a/gerrit-sshd/BUCK +++ b/gerrit-sshd/BUCK @@ -20,7 +20,6 @@ java_library( '//lib:jsch', '//lib/auto:auto-value', '//lib/commons:codec', - '//lib/commons:collections', '//lib/guice:guice', '//lib/guice:guice-assistedinject', '//lib/guice:guice-servlet', # SSH should not depend on servlet diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/BanCommitCommand.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/BanCommitCommand.java index ec8b94d602..f78b4df0e0 100644 --- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/BanCommitCommand.java +++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/BanCommitCommand.java @@ -28,7 +28,6 @@ import com.google.gerrit.sshd.CommandMetaData; import com.google.gerrit.sshd.SshCommand; import com.google.inject.Inject; -import org.apache.commons.collections.CollectionUtils; import org.eclipse.jgit.lib.ObjectId; import org.kohsuke.args4j.Argument; import org.kohsuke.args4j.Option; @@ -77,7 +76,7 @@ public class BanCommitCommand extends SshCommand { } private void printCommits(List commits, String message) { - if (CollectionUtils.isNotEmpty(commits)) { + if (commits != null && !commits.isEmpty()) { stdout.print(message + ":\n"); stdout.print(Joiner.on(",\n").join(commits)); stdout.print("\n\n");