From cd4d4f07444ed342d53833cce472774a90a63cb0 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Mon, 15 Jun 2009 15:33:38 -0700 Subject: [PATCH] Don't try to auto-close changes on branch delete On a branch delete, there's no changes to close. On branch create, there's no base commit. Signed-off-by: Shawn O. Pearce --- .../java/com/google/gerrit/server/ssh/Receive.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/google/gerrit/server/ssh/Receive.java b/src/main/java/com/google/gerrit/server/ssh/Receive.java index 7d043ef565..e2352ed543 100644 --- a/src/main/java/com/google/gerrit/server/ssh/Receive.java +++ b/src/main/java/com/google/gerrit/server/ssh/Receive.java @@ -162,17 +162,19 @@ class Receive extends AbstractGitCommand { for (final ReceiveCommand c : commands) { if (c.getResult() == Result.OK) { if (isHead(c)) { - // Make sure the branch table matches the repository - // switch (c.getType()) { case CREATE: insertBranchEntity(c); + autoCloseChanges(c); break; case DELETE: deleteBranchEntity(c); break; + case UPDATE: + case UPDATE_NONFASTFORWARD: + autoCloseChanges(c); + break; } - autoCloseChanges(c); } if (isHead(c) || isTag(c)) { @@ -1072,7 +1074,9 @@ class Receive extends AbstractGitCommand { try { rw.reset(); rw.markStart(rw.parseCommit(cmd.getNewId())); - rw.markUninteresting(rw.parseCommit(cmd.getOldId())); + if (!ObjectId.zeroId().equals(cmd.getOldId())) { + rw.markUninteresting(rw.parseCommit(cmd.getOldId())); + } final Map changes = changeRefsById(); RevCommit c;