From 131da2786c1bf275c07ba628af4254a40d1dc42f Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Sat, 01 Mar 2014 09:21:32 -0500 Subject: [PATCH] Improve getting changed paths in a commit range --- src/main/java/com/gitblit/git/GitblitReceivePackFactory.java | 39 ++++++++++++++------------------------- 1 files changed, 14 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..b8b49bc 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,15 @@ throw new ServiceNotEnabledException(); } - final RepositoryModel repository = repositoryManager.getRepositoryModel(repositoryName); + String url = settings.getString(Keys.web.canonicalUrl, null); + if (StringUtils.isEmpty(url)) { + url = gitblitUrl; + } + + final RepositoryModel repository = gitblit.getRepositoryModel(repositoryName); - final GitblitReceivePack rp = new GitblitReceivePack(runtimeManager, repositoryManager, db, repository, user); - rp.setGitblitUrl(gitblitUrl); - rp.setRepositoryUrl(repositoryUrl); + final GitblitReceivePack 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