aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2007-07-14 12:40:32 -0700
committerJunio C Hamano <gitster@pobox.com>2007-07-14 13:47:08 -0700
commit46cf98baa5a1d74a9d00dc1092b29e4af93e8615 (patch)
tree9b7e4e499716b27e7c56edc4a4baef361f4e9b91
parent94008931716e9db59afcc82cf5319f8278e5a907 (diff)
downloadgit-46cf98baa5a1d74a9d00dc1092b29e4af93e8615.tar.gz
git-46cf98baa5a1d74a9d00dc1092b29e4af93e8615.tar.xz
git-svn: remove leading slashes from fetch lines in the generate config
We were previously sensitive to leading slashes in the fetch lines and incorrectly writing them to the config if the user used them (needlessly) in the command-line. This fixes the issue and allows us to play nicely with legacy configs that have leading slashes in fetch lines. Thanks to Bradford Smith for figuring this out for me: > > This works: > > git-svn clone https://my.server.net/repos/path/ -Ttrunk/testing > -ttags/testing -bbranches/testing testing > > This doesn't: > > git-svn clone https://my.server.net/repos/path -T/trunk/testing > -t/tags/testing -b/branches/testing testing Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xgit-svn.perl5
1 files changed, 4 insertions, 1 deletions
diff --git a/git-svn.perl b/git-svn.perl
index b3dffccf3..299b40f93 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -1026,7 +1026,9 @@ sub read_all_remotes {
my $r = {};
foreach (grep { s/^svn-remote\.// } command(qw/config -l/)) {
if (m!^(.+)\.fetch=\s*(.*)\s*:\s*refs/remotes/(.+)\s*$!) {
- $r->{$1}->{fetch}->{$2} = $3;
+ my ($remote, $local_ref, $remote_ref) = ($1, $2, $3);
+ $local_ref =~ s{^/}{};
+ $r->{$remote}->{fetch}->{$local_ref} = $remote_ref;
} elsif (m!^(.+)\.url=\s*(.*)\s*$!) {
$r->{$1}->{url} = $2;
} elsif (m!^(.+)\.(branches|tags)=
@@ -1146,6 +1148,7 @@ sub init_remote_config {
unless ($no_write) {
command_noisy('config',
"svn-remote.$self->{repo_id}.url", $url);
+ $self->{path} =~ s{^/}{};
command_noisy('config', '--add',
"svn-remote.$self->{repo_id}.fetch",
"$self->{path}:".$self->refname);