According to the documentation, full URLs can be specified in the `-T` argument to `git svn init`. However, the canonicalization of such arguments squashes together consecutive "/"s, which unsurprisingly breaks http://, svn://, etc URLs. Add a failing test case to provide evidence of that. On systems where Subversion provides svn_path_canonicalize but not svn_dirent_canonicalize (Subversion 1.6 and earlier?), this test passes, as svn_path_canonicalize doesn't mangle the consecutive "/"s. Signed-off-by: Adam Dinwoodie <adam@xxxxxxxxxxxxx> --- I think the bug here is in using perl/Git/SVN/Utils.pm's `canonicalize_path` on the `-T` argument. If it's available, that function calls Subversion's `svn_dirent_canonicalize`. The Subversion code[0] makes it clear that this function is fine for relative and absolute local paths, and for UNC paths on Windows, but it isn't suitable for use on URLs. [0]: https://svn.apache.org/repos/asf/subversion/trunk/subversion/include/svn_dirent_uri.h It occurs to me that the correct "fix" here may simply be to stop claiming support for specifying URLs as arguments to -T, and mandate users use the `git svn init $url -T $dirent` syntax instead, but I figured providing the failing testcase would be a good start to that discussion regardless. t/t9117-git-svn-init-clone.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/t/t9117-git-svn-init-clone.sh b/t/t9117-git-svn-init-clone.sh index a66f43c..2ba003d 100755 --- a/t/t9117-git-svn-init-clone.sh +++ b/t/t9117-git-svn-init-clone.sh @@ -119,4 +119,10 @@ test_expect_success 'clone with -s/-T/-b/-t and --prefix "" still works' ' rm -f warning ' +test_expect_failure 'init with -T as a full url works' ' + test ! -d project && + git svn init -T "$svnrepo"/project/trunk project && + rm -rf project + ' + test_done -- 2.7.0 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html