From 5eaa1fd086e826b1ac8d9346a740527edbdb3c34 Mon Sep 17 00:00:00 2001 From: "Michael G. Schwern" Date: Sat, 28 Jul 2012 02:47:52 -0700 Subject: [PATCH] git-svn: remove ad-hoc canonicalizations [ew: commit title] Signed-off-by: Eric Wong --- git-svn.perl | 8 ++++---- perl/Git/SVN.pm | 1 - 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/git-svn.perl b/git-svn.perl index 3d120d5bc..56d1ba712 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -36,6 +36,7 @@ use Git::SVN::Utils qw( canonicalize_url join_paths add_path_to_url + join_paths ); use Git qw( @@ -1598,7 +1599,7 @@ sub post_fetch_checkout { sub complete_svn_url { my ($url, $path) = @_; - $path =~ s#/+$##; + $path = canonicalize_path($path); # If the path is not a URL... if ($path !~ m#^[a-z\+]+://#) { @@ -1617,7 +1618,7 @@ sub complete_url_ls_init { print STDERR "W: $switch not specified\n"; return; } - $repo_path =~ s#/+$##; + $repo_path = canonicalize_path($repo_path); if ($repo_path =~ m#^[a-z\+]+://#) { $ra = Git::SVN::Ra->new($repo_path); $repo_path = ''; @@ -1638,9 +1639,8 @@ sub complete_url_ls_init { } command_oneline('config', $k, $gs->url) unless $orig_url; - my $remote_path = $gs->path . "/$repo_path"; + my $remote_path = join_paths( $gs->path, $repo_path ); $remote_path =~ s{%([0-9A-F]{2})}{chr hex($1)}ieg; - $remote_path =~ s#/+#/#g; $remote_path =~ s#^/##g; $remote_path .= "/*" if $remote_path !~ /\*/; my ($n) = ($switch =~ /^--(\w+)/); diff --git a/perl/Git/SVN.pm b/perl/Git/SVN.pm index d0087b289..08891452a 100644 --- a/perl/Git/SVN.pm +++ b/perl/Git/SVN.pm @@ -460,7 +460,6 @@ sub new { } { my $path = $self->path; - $path =~ s{/+}{/}g; $path =~ s{\A/}{}; $path =~ s{/\z}{}; $self->path($path); -- 2.26.2