From a66312f3d4bb9f1f6aad5ed66d2082057c99f519 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 12 Mar 2014 17:21:12 -0400
Subject: [PATCH] Tweak the receive pack push permission check to be a method

---
 src/main/java/com/gitblit/git/GitblitReceivePackFactory.java |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java b/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java
index b8b49bc..7976fe5 100644
--- a/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java
+++ b/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java
@@ -100,10 +100,17 @@
 		if (StringUtils.isEmpty(url)) {
 			url = gitblitUrl;
 		}
-		
+
 		final RepositoryModel repository = gitblit.getRepositoryModel(repositoryName);
 
-		final GitblitReceivePack rp = new GitblitReceivePack(gitblit, db, repository, user);
+		// Determine which receive pack to use for pushes
+		final GitblitReceivePack rp;
+		if (gitblit.getTicketService().isAcceptingNewPatchsets(repository)) {
+			rp = new PatchsetReceivePack(gitblit, db, repository, user);
+		} else {
+			rp = new GitblitReceivePack(gitblit, db, repository, user);
+		}
+
 		rp.setGitblitUrl(url);
 		rp.setRefLogIdent(new PersonIdent(user.username, user.username + "@" + origin));
 		rp.setTimeout(timeout);

--
Gitblit v1.9.1