From: Eric Wong Date: Sun, 25 Mar 2007 23:35:31 +0000 (-0700) Subject: git-svn: fix rel_path() when not connected to the repository root X-Git-Tag: v1.5.1-rc2~1 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=0b59451c1be6be3d0df80be9dc8aeedb355ca44b;p=git.git git-svn: fix rel_path() when not connected to the repository root This should fix fetching for people who did not use "git svn --minimize" or cannot connect to the repository root due to the lack of permissions. I'm not sure what I was on when I made the change to the rel_path() function in 4e9f6cc78e5d955bd0faffe76ae9aea6590189f1 that made it die() when we weren't connected to the repository root :x Thanks to Sven Verdoolaege for reporting this bug. Signed-off-by: Junio C Hamano --- diff --git a/git-svn.perl b/git-svn.perl index e8457893d..e0a48c2a8 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -1327,8 +1327,10 @@ sub rel_path { my ($self) = @_; my $repos_root = $self->ra->{repos_root}; return $self->{path} if ($self->{url} eq $repos_root); - die "BUG: rel_path failed! repos_root: $repos_root, Ra URL: ", - $self->ra->{url}, " path: $self->{path}, URL: $self->{url}\n"; + my $url = $self->{url} . + (length $self->{path} ? "/$self->{path}" : $self->{path}); + $url =~ s!^\Q$repos_root\E(?:/+|$)!!g; + $url; } sub traverse_ignore {