From d19549897c0c373522e29fdcf0701edfd4956ae2 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 03 Jul 2014 16:21:01 -0400 Subject: [PATCH] Merged #128 "Move apt folder from 'dagger' to 'gen'" --- src/main/java/com/gitblit/servlet/RawServlet.java | 18 ++++++++++++++++-- 1 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/gitblit/servlet/RawServlet.java b/src/main/java/com/gitblit/servlet/RawServlet.java index cde7b2e..0def062 100644 --- a/src/main/java/com/gitblit/servlet/RawServlet.java +++ b/src/main/java/com/gitblit/servlet/RawServlet.java @@ -94,7 +94,17 @@ if (baseURL.length() > 0 && baseURL.charAt(baseURL.length() - 1) == '/') { baseURL = baseURL.substring(0, baseURL.length() - 1); } - String encodedPath = path.replace(' ', '-'); + + if (branch != null) { + char fsc = '!'; + char c = GitblitContext.getManager(IRuntimeManager.class).getSettings().getChar(Keys.web.forwardSlashCharacter, '/'); + if (c != '/') { + fsc = c; + } + branch = branch.replace('/', fsc); + } + + String encodedPath = path == null ? "" : path.replace(' ', '-'); try { encodedPath = URLEncoder.encode(encodedPath, "UTF-8"); } catch (UnsupportedEncodingException e) { @@ -109,7 +119,8 @@ if (fs > -1) { branch = branch.substring(0, fs); } - return branch; + char c = runtimeManager.getSettings().getChar(Keys.web.forwardSlashCharacter, '/'); + return branch.replace('!', '/').replace(c, '/'); } protected String getPath(String repository, String branch, HttpServletRequest request) { @@ -164,6 +175,9 @@ repository = path.substring(0, slash); } offset += slash; + if (offset == 0) { + offset++; + } r = repositoryManager.getRepository(repository, false); if (repository.equals(path)) { // either only repository in url or no repository found -- Gitblit v1.9.1