From f7ae2a8425edfa56dd2927b8eb1fdc8ead94e79f Mon Sep 17 00:00:00 2001
From: Stardrad Yin <yin8086@gmail.com>
Date: Wed, 05 Mar 2014 10:16:53 -0500
Subject: [PATCH] Fix Chinese translate strings

---
 src/main/java/com/gitblit/git/GitblitReceivePackFactory.java |   25 +++++++++++++++++--------
 1 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java b/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java
index 71a8e68..7976fe5 100644
--- a/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java
+++ b/src/main/java/com/gitblit/git/GitblitReceivePackFactory.java
@@ -26,9 +26,9 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.gitblit.Gitblit;
 import com.gitblit.IStoredSettings;
 import com.gitblit.Keys;
+import com.gitblit.manager.IGitblit;
 import com.gitblit.models.RepositoryModel;
 import com.gitblit.models.UserModel;
 import com.gitblit.utils.HttpUtils;
@@ -47,9 +47,9 @@
 
 	private final IStoredSettings settings;
 
-	private final Gitblit gitblit;
+	private final IGitblit gitblit;
 
-	public GitblitReceivePackFactory(Gitblit gitblit) {
+	public GitblitReceivePackFactory(IGitblit gitblit) {
 		super();
 		this.settings = gitblit.getSettings();
 		this.gitblit = gitblit;
@@ -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,22 @@
 			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);
+		// 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