diff --git a/plugins/scm-svn-plugin/pom.xml b/plugins/scm-svn-plugin/pom.xml index 9bacd6ba0f..b96cf290cb 100644 --- a/plugins/scm-svn-plugin/pom.xml +++ b/plugins/scm-svn-plugin/pom.xml @@ -19,10 +19,17 @@ + + javax.servlet + servlet-api + ${servlet.version} + provided + + org.tmatesoft.svnkit - svnkit - ${svnkit.version} + svnkit-dav + ${svnkit-dav.version} trilead-ssh2 @@ -35,12 +42,6 @@ - - org.tmatesoft.svnkit - svnkit-dav - ${svnkit.version} - - @@ -53,7 +54,7 @@ - 1.3.5 + 1.3.5.1 diff --git a/third-party/svnkit-dav/pom.xml b/third-party/svnkit-dav/pom.xml index 069f277195..0867adf1b4 100644 --- a/third-party/svnkit-dav/pom.xml +++ b/third-party/svnkit-dav/pom.xml @@ -12,7 +12,7 @@ org.tmatesoft.svnkit svnkit-dav jar - 1.3.5 + 1.3.5.1 svnkit-dav @@ -21,14 +21,19 @@ javax.servlet servlet-api ${servlet.version} + provided org.tmatesoft.svnkit svnkit - ${project.version} + ${svnkit.version} + + 1.3.5 + + diff --git a/third-party/svnkit-dav/src/main/java/org/tmatesoft/svn/core/internal/server/dav/DAVRepositoryManager.java b/third-party/svnkit-dav/src/main/java/org/tmatesoft/svn/core/internal/server/dav/DAVRepositoryManager.java index 5de520f5cb..e02221603d 100644 --- a/third-party/svnkit-dav/src/main/java/org/tmatesoft/svn/core/internal/server/dav/DAVRepositoryManager.java +++ b/third-party/svnkit-dav/src/main/java/org/tmatesoft/svn/core/internal/server/dav/DAVRepositoryManager.java @@ -182,6 +182,7 @@ public class DAVRepositoryManager { String uri = DAVPathUtil.addLeadingSlash(url.getURIEncodedPath()); if (uri.startsWith(getResourceContext())) { uri = uri.substring(getResourceContext().length()); + uri = DAVPathUtil.addLeadingSlash(uri); } else { SVNErrorManager.error(SVNErrorMessage.create(SVNErrorCode.RA_DAV_REQUEST_FAILED, "Invalid URL ''{0}'' requested", url.toString()), SVNLogType.NETWORK); @@ -291,7 +292,7 @@ public class DAVRepositoryManager { } requestContext = SVNPathUtil.append(requestContext, servletPath); } - return SVNEncodingUtil.uriEncode(requestContext); + return encodeRequestContext(requestContext); } String reposName = DAVPathUtil.head(pathInfo); @@ -301,9 +302,13 @@ public class DAVRepositoryManager { } String pathToRepos = SVNPathUtil.append(requestContext, servletPath); requestContext = SVNPathUtil.append(pathToRepos, reposName); - return SVNEncodingUtil.uriEncode(requestContext); + return encodeRequestContext(requestContext); } requestContext = DAVPathUtil.append(requestContext, reposName); - return SVNEncodingUtil.uriEncode(requestContext); + return encodeRequestContext(requestContext); + } + + private String encodeRequestContext(String requestContext){ + return SVNEncodingUtil.uriEncode( DAVPathUtil.addLeadingSlash(requestContext) ); } }