diff options
author | Shawn O. Pearce <sop@google.com> | 2009-06-15 15:33:38 -0700 |
---|---|---|
committer | Shawn O. Pearce <sop@google.com> | 2009-06-15 15:33:52 -0700 |
commit | cd4d4f07444ed342d53833cce472774a90a63cb0 (patch) | |
tree | a76e8863aa2dee06b6d9581ab4607b66067939a1 | |
parent | 1a47d583d9e21170449a8611da82c62f95a3ca3a (diff) |
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 <sop@google.com>
-rw-r--r-- | src/main/java/com/google/gerrit/server/ssh/Receive.java | 12 |
1 files 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<ObjectId, Ref> changes = changeRefsById(); RevCommit c; |