paladox
2015-11-23 2b1e02997f12e2cf12088d2e9f6eef107e1ce8f5
Match longest repository path towards the shortest pull request #950

This was originally from https://github.com/gitblit/gitblit/pull/950 but seems to have been reverted when develop branch was merged with master.
1 files modified
21 ■■■■ changed files
src/main/java/com/gitblit/servlet/RawServlet.java 21 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/RawServlet.java
@@ -166,23 +166,14 @@
        }
        // determine repository and resource from url
        String repository = "";
        String repository = path;
        Repository r = null;
        int offset = 0;
        while (r == null) {
            int slash = path.indexOf('/', offset);
            if (slash == -1) {
                repository = path;
            } else {
                repository = path.substring(0, slash);
            }
            offset = ( slash + 1 );
        int terminator = repository.length();
        do {
            repository = repository.substring(0, terminator);
            r = repositoryManager.getRepository(repository, false);
            if (repository.equals(path)) {
                // either only repository in url or no repository found
                break;
            }
        }
            terminator = repository.lastIndexOf('/');
        } while (r == null && terminator > -1 );
        ServletContext context = request.getSession().getServletContext();