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>
This commit is contained in:
parent
9400893171
commit
46cf98baa5
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user