summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/gitblit/git/GitblitReceivePackFactory.java')
-rw-r--r--src/main/java/com/gitblit/git/GitblitReceivePackFactory.java11
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 b8b49bcd..7976fe56 100644
--- a/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java
+++ b/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java
@@ -100,10 +100,17 @@ public class GitblitReceivePackFactory<X> implements ReceivePackFactory<X> {
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);