# [PATCH 2/2] git svn: fix reparenting when ugly http(s) URLs are used

1 messages from 2009-07-20 to 2009-07-20. Participants: Eric Wong.
Thread: https://gitlist.dev/t/20161

## Eric Wong, 2009-07-20 05:58

Subject: [PATCH 2/2] git svn: fix reparenting when ugly http(s) URLs are used
Message-ID: <20090720055826.GB24393@dcvr.yhbt.net>
URL: https://gitlist.dev/e/20090720055826.GB24393%40dcvr.yhbt.net

```
Mishandling of http(s) in need of escaping was causing
t9118-git-svn-funky-branch-names to fail when SVN_HTTPD_PORT
 was defined.

This bug was exposed in (but not caused by)
commit 0b2af457a49e3b00d47d556d5301934d27909db8
(Fix branch detection when repository root is inaccessible)

Signed-off-by: Eric Wong <normalperson@yhbt.net>
---
 git-svn.perl |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/git-svn.perl b/git-svn.perl
index cfade63..43c86e8 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -4525,10 +4525,12 @@ sub gs_do_switch {
 
 	my $full_url = $self->{url};
 	my $old_url = $full_url;
-	$full_url .= '/' . escape_uri_only($path) if length $path;
+	$full_url .= '/' . $path if length $path;
 	my ($ra, $reparented);
 
-	if ($old_url =~ m#^svn(\+ssh)?://#) {
+	if ($old_url =~ m#^svn(\+ssh)?://# ||
+	    ($full_url =~ m#^https?://# &&
+	     escape_url($full_url) ne $full_url)) {
 		$_[0] = undef;
 		$self = undef;
 		$RA = undef;
-- 
Eric Wong

```
