Serve repositories on /r in addition to /git
Change-Id: I3cd332a6509e434d901e1b262600f4c8ce57752b
diff --git a/releases.moxie b/releases.moxie
index d834f23..3f9c074 100644
--- a/releases.moxie
+++ b/releases.moxie
@@ -36,6 +36,7 @@
- Removed the repository setting to enable Markdown document enumeration, this is now automatic and expanded
- Retrieve LDAP groups with dereferencing aliases (pr-122)
- Revised committer verification to require a matching displayname or account name AND the email address
+ - Serve repositories on both /r and /git, displaying /r because it is shorter
additions:
- Added an optional MirrorExecutor which will periodically fetch ref updates from source repositories for mirrors (issue-5). Repositories must be manually cloned using native git and "--mirror".
- Added branch graph image servlet based on EGit's branch graph renderer (issue-194)
diff --git a/src/main/java/com/gitblit/Constants.java b/src/main/java/com/gitblit/Constants.java
index 439a944..ee6de45 100644
--- a/src/main/java/com/gitblit/Constants.java
+++ b/src/main/java/com/gitblit/Constants.java
@@ -52,6 +52,8 @@
public static final String DEFAULT_USER_REPOSITORY_PREFIX = "~";
+ public static final String R_PATH = "/r/";
+
public static final String GIT_PATH = "/git/";
public static final String ZIP_PATH = "/zip/";
diff --git a/src/main/java/com/gitblit/git/GitServlet.java b/src/main/java/com/gitblit/git/GitServlet.java
index c511942..ff50ad6 100644
--- a/src/main/java/com/gitblit/git/GitServlet.java
+++ b/src/main/java/com/gitblit/git/GitServlet.java
@@ -16,7 +16,6 @@
package com.gitblit.git;
import javax.inject.Inject;
-import javax.inject.Singleton;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
@@ -30,7 +29,6 @@
* @author James Moger
*
*/
-@Singleton
public class GitServlet extends org.eclipse.jgit.http.server.GitServlet {
private static final long serialVersionUID = 1L;
diff --git a/src/main/java/com/gitblit/manager/FederationManager.java b/src/main/java/com/gitblit/manager/FederationManager.java
index 07d2018..568e87f 100644
--- a/src/main/java/com/gitblit/manager/FederationManager.java
+++ b/src/main/java/com/gitblit/manager/FederationManager.java
@@ -357,7 +357,7 @@
// Determine the Gitblit clone url
StringBuilder sb = new StringBuilder();
sb.append(gitblitUrl);
- sb.append(Constants.GIT_PATH);
+ sb.append(Constants.R_PATH);
sb.append("{0}");
String cloneUrl = sb.toString();
diff --git a/src/main/java/com/gitblit/manager/GitblitManager.java b/src/main/java/com/gitblit/manager/GitblitManager.java
index 9947382..6395c35 100644
--- a/src/main/java/com/gitblit/manager/GitblitManager.java
+++ b/src/main/java/com/gitblit/manager/GitblitManager.java
@@ -209,7 +209,7 @@
protected String getRepositoryUrl(HttpServletRequest request, String username, RepositoryModel repository) {
StringBuilder sb = new StringBuilder();
sb.append(HttpUtils.getGitblitURL(request));
- sb.append(Constants.GIT_PATH);
+ sb.append(Constants.R_PATH);
sb.append(repository.name);
// inject username into repository url if authentication is required
diff --git a/src/main/java/com/gitblit/servlet/GitFilter.java b/src/main/java/com/gitblit/servlet/GitFilter.java
index c44f7ef..402636e 100644
--- a/src/main/java/com/gitblit/servlet/GitFilter.java
+++ b/src/main/java/com/gitblit/servlet/GitFilter.java
@@ -18,18 +18,15 @@
import java.text.MessageFormat;
import javax.inject.Inject;
-import javax.inject.Singleton;
-import com.gitblit.Constants;
+import com.gitblit.Constants.AccessRestrictionType;
+import com.gitblit.Constants.AuthorizationControl;
import com.gitblit.GitBlitException;
import com.gitblit.IStoredSettings;
import com.gitblit.Keys;
-import com.gitblit.Constants.AccessRestrictionType;
-import com.gitblit.Constants.AuthorizationControl;
-import com.gitblit.Keys.git;
+import com.gitblit.manager.IAuthenticationManager;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.manager.IRuntimeManager;
-import com.gitblit.manager.IAuthenticationManager;
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.UserModel;
import com.gitblit.utils.StringUtils;
@@ -42,7 +39,6 @@
* @author James Moger
*
*/
-@Singleton
public class GitFilter extends AccessRestrictionFilter {
protected static final String gitReceivePack = "/git-receive-pack";
diff --git a/src/main/java/com/gitblit/servlet/GitblitContext.java b/src/main/java/com/gitblit/servlet/GitblitContext.java
index 3e95b4b..a86ecf6 100644
--- a/src/main/java/com/gitblit/servlet/GitblitContext.java
+++ b/src/main/java/com/gitblit/servlet/GitblitContext.java
@@ -41,6 +41,7 @@
import com.gitblit.WebXmlSettings;
import com.gitblit.dagger.DaggerContextListener;
import com.gitblit.git.GitServlet;
+import com.gitblit.manager.IAuthenticationManager;
import com.gitblit.manager.IFederationManager;
import com.gitblit.manager.IGitblitManager;
import com.gitblit.manager.IManager;
@@ -49,7 +50,6 @@
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.manager.IRuntimeManager;
import com.gitblit.manager.IServicesManager;
-import com.gitblit.manager.IAuthenticationManager;
import com.gitblit.manager.IUserManager;
import com.gitblit.utils.ContainerUtils;
import com.gitblit.utils.StringUtils;
@@ -202,6 +202,7 @@
@Override
protected void injectServlets(ServletContext context) {
// access restricted servlets
+ serve(context, Constants.R_PATH, GitServlet.class, GitFilter.class);
serve(context, Constants.GIT_PATH, GitServlet.class, GitFilter.class);
serve(context, Constants.PAGES, PagesServlet.class, PagesFilter.class);
serve(context, Constants.RPC_PATH, RpcServlet.class, RpcFilter.class);
diff --git a/src/main/java/com/gitblit/servlet/RpcServlet.java b/src/main/java/com/gitblit/servlet/RpcServlet.java
index 3a115b1..a2013b7 100644
--- a/src/main/java/com/gitblit/servlet/RpcServlet.java
+++ b/src/main/java/com/gitblit/servlet/RpcServlet.java
@@ -32,13 +32,10 @@
import org.eclipse.jgit.lib.Repository;
import com.gitblit.Constants;
+import com.gitblit.Constants.RpcRequest;
import com.gitblit.GitBlitException;
import com.gitblit.IStoredSettings;
import com.gitblit.Keys;
-import com.gitblit.Constants.RpcRequest;
-import com.gitblit.Keys.federation;
-import com.gitblit.Keys.realm;
-import com.gitblit.Keys.web;
import com.gitblit.manager.IFederationManager;
import com.gitblit.manager.IGitblitManager;
import com.gitblit.manager.IRepositoryManager;
@@ -132,7 +129,7 @@
String gitblitUrl = HttpUtils.getGitblitURL(request);
StringBuilder sb = new StringBuilder();
sb.append(gitblitUrl);
- sb.append(Constants.GIT_PATH);
+ sb.append(Constants.R_PATH);
sb.append("{0}");
String cloneUrl = sb.toString();
diff --git a/src/main/java/com/gitblit/servlet/SparkleShareInviteServlet.java b/src/main/java/com/gitblit/servlet/SparkleShareInviteServlet.java
index 3bef51d..5d2532d 100644
--- a/src/main/java/com/gitblit/servlet/SparkleShareInviteServlet.java
+++ b/src/main/java/com/gitblit/servlet/SparkleShareInviteServlet.java
@@ -28,10 +28,9 @@
import com.gitblit.Constants;
import com.gitblit.IStoredSettings;
import com.gitblit.Keys;
-import com.gitblit.Keys.fanout;
+import com.gitblit.manager.IAuthenticationManager;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.manager.IRuntimeManager;
-import com.gitblit.manager.IAuthenticationManager;
import com.gitblit.manager.IUserManager;
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.UserModel;
@@ -94,7 +93,7 @@
repoUrl = repoUrl.substring(0, repoUrl.length() - 4);
}
- String servletPath = Constants.GIT_PATH;
+ String servletPath = Constants.R_PATH;
int schemeIndex = repoUrl.indexOf("://") + 3;
String host = repoUrl.substring(0, repoUrl.indexOf('/', schemeIndex));