From 1626c6e7d590a238d02dd8b64fc18e6eea6afbee Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Wed, 05 Mar 2014 11:42:34 -0500 Subject: [PATCH] New proposal notifications should include the patchset details --- src/main/java/com/gitblit/git/GitblitReceivePackFactory.java | 46 +++++++++++++++++++++------------------------- 1 files changed, 21 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java b/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java index 2cdb985..7976fe5 100644 --- a/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java +++ b/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java @@ -28,9 +28,7 @@ import com.gitblit.IStoredSettings; import com.gitblit.Keys; -import com.gitblit.manager.IRepositoryManager; -import com.gitblit.manager.IRuntimeManager; -import com.gitblit.manager.IUserManager; +import com.gitblit.manager.IGitblit; import com.gitblit.models.RepositoryModel; import com.gitblit.models.UserModel; import com.gitblit.utils.HttpUtils; @@ -49,23 +47,12 @@ private final IStoredSettings settings; - private final IRuntimeManager runtimeManager; + private final IGitblit gitblit; - private final IUserManager userManager; - - private final IRepositoryManager repositoryManager; - - public GitblitReceivePackFactory( - IRuntimeManager runtimeManager, - IUserManager userManager, - IRepositoryManager repositoryManager) { - + public GitblitReceivePackFactory(IGitblit gitblit) { super(); - this.settings = runtimeManager.getSettings(); - this.runtimeManager = runtimeManager; - this.userManager = userManager; - this.repositoryManager = repositoryManager; - + this.settings = gitblit.getSettings(); + this.gitblit = gitblit; } @Override @@ -76,7 +63,6 @@ String repositoryName = ""; String origin = ""; String gitblitUrl = ""; - String repositoryUrl = ""; int timeout = 0; if (req instanceof HttpServletRequest) { @@ -85,12 +71,11 @@ repositoryName = request.getAttribute("gitblitRepositoryName").toString(); origin = request.getRemoteHost(); gitblitUrl = HttpUtils.getGitblitURL(request); - repositoryUrl = request.getRequestURI(); // determine pushing user String username = request.getRemoteUser(); if (!StringUtils.isEmpty(username)) { - UserModel u = userManager.getUserModel(username); + UserModel u = gitblit.getUserModel(username); if (u != null) { user = u; } @@ -111,11 +96,22 @@ throw new ServiceNotEnabledException(); } - final RepositoryModel repository = repositoryManager.getRepositoryModel(repositoryName); + String url = settings.getString(Keys.web.canonicalUrl, null); + if (StringUtils.isEmpty(url)) { + url = gitblitUrl; + } - final GitblitReceivePack rp = new GitblitReceivePack(runtimeManager, repositoryManager, db, repository, user); - rp.setGitblitUrl(gitblitUrl); - rp.setRepositoryUrl(repositoryUrl); + final RepositoryModel repository = gitblit.getRepositoryModel(repositoryName); + + // 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