summaryrefslogtreecommitdiffstats
path: root/gerrit-server/src/main/java/com/google/gerrit/server/project/DeleteBranch.java
diff options
context:
space:
mode:
Diffstat (limited to 'gerrit-server/src/main/java/com/google/gerrit/server/project/DeleteBranch.java')
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/project/DeleteBranch.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/DeleteBranch.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/DeleteBranch.java
index 091cba364f..732d47bb14 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/project/DeleteBranch.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/DeleteBranch.java
@@ -29,6 +29,7 @@ import com.google.inject.Provider;
import com.google.inject.Singleton;
import org.eclipse.jgit.errors.LockFailedException;
+import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.RefUpdate;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.transport.ReceiveCommand;
@@ -80,7 +81,10 @@ public class DeleteBranch implements RestModifyView<BranchResource, Input> {
try (Repository r = repoManager.openRepository(rsrc.getNameKey())) {
RefUpdate.Result result;
- RefUpdate u = r.updateRef(rsrc.getRef());
+ String ref = rsrc.getRef();
+ RefUpdate u = r.updateRef(ref);
+ u.setExpectedOldObjectId(r.exactRef(ref).getObjectId());
+ u.setNewObjectId(ObjectId.zeroId());
u.setForceUpdate(true);
refDeletionValidator.validateRefOperation(
rsrc.getName(), identifiedUser.get(), u);