From 353c659c94d99ddd339afe846d4d27a172ccc405 Mon Sep 17 00:00:00 2001
From: Philipp Alexander Beckmann <pab@pabnet.de>
Date: Thu, 17 Apr 2014 07:58:03 -0400
Subject: [PATCH] Redirect all command line arguments for pt.cmd

---
 src/main/java/com/gitblit/git/PatchsetReceivePack.java |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/gitblit/git/PatchsetReceivePack.java b/src/main/java/com/gitblit/git/PatchsetReceivePack.java
index 77d5a71..43efc54 100644
--- a/src/main/java/com/gitblit/git/PatchsetReceivePack.java
+++ b/src/main/java/com/gitblit/git/PatchsetReceivePack.java
@@ -309,6 +309,7 @@
 			}
 
 			if (isPatchsetRef(cmd.getRefName()) && processPatchsets) {
+
 				if (ticketService == null) {
 					sendRejection(cmd, "Sorry, the ticket service is unavailable and can not accept patchsets at this time.");
 					continue;
@@ -346,6 +347,20 @@
 					continue;
 				}
 
+				if (cmd.getNewId().equals(ObjectId.zeroId())) {
+					// ref deletion request
+					if (cmd.getRefName().startsWith(Constants.R_TICKET)) {
+						if (user.canDeleteRef(repository)) {
+							batch.addCommand(cmd);
+						} else {
+							sendRejection(cmd, "Sorry, you do not have permission to delete {}", cmd.getRefName());
+						}
+					} else {
+						sendRejection(cmd, "Sorry, you can not delete {}", cmd.getRefName());
+					}
+					continue;
+				}
+
 				if (patchsetRefCmd != null) {
 					sendRejection(cmd, "You may only push one patchset at a time.");
 					continue;

--
Gitblit v1.9.1