From 14cbbeaf61ce67c1ef5a6445515f3134dd5690ce Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 30 Dec 2013 16:53:58 -0500
Subject: [PATCH] New canonical base url setting for repository urls and notifications

---
 src/main/java/com/gitblit/git/GitblitReceivePackFactory.java |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java b/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java
index bdf9b1a..b8b49bc 100644
--- a/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java
+++ b/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java
@@ -63,7 +63,6 @@
 		String repositoryName = "";
 		String origin = "";
 		String gitblitUrl = "";
-		String repositoryUrl = "";
 		int timeout = 0;
 
 		if (req instanceof HttpServletRequest) {
@@ -72,7 +71,6 @@
 			repositoryName = request.getAttribute("gitblitRepositoryName").toString();
 			origin = request.getRemoteHost();
 			gitblitUrl = HttpUtils.getGitblitURL(request);
-			repositoryUrl = request.getRequestURI();
 
 			// determine pushing user
 			String username = request.getRemoteUser();
@@ -98,11 +96,15 @@
 			throw new ServiceNotEnabledException();
 		}
 
+		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(gitblit, db, repository, user);
-		rp.setGitblitUrl(gitblitUrl);
-		rp.setRepositoryUrl(repositoryUrl);
+		rp.setGitblitUrl(url);
 		rp.setRefLogIdent(new PersonIdent(user.username, user.username + "@" + origin));
 		rp.setTimeout(timeout);
 

--
Gitblit v1.9.1