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) );
}
}