From: Michael G. Schwern <[email protected]>
Date: Fri, 27 Jul 2012 13:00:48 -0700
This patch only touches cases where the path field is written to using
$gs->{path}. Cases where the path is set directly in a hash literal
will be addressed separately.
[jn: split from a larger patch]
Signed-off-by: Eric Wong <[email protected]>
Signed-off-by: Jonathan Nieder <[email protected]>
---
perl/Git/SVN.pm | 24 ++++++++++++++----------
1 file changed, 14 insertions(+), 10 deletions(-)
diff --git a/perl/Git/SVN.pm b/perl/Git/SVN.pm
index 02d5abc0..826a7fa6 100644
--- a/perl/Git/SVN.pm
+++ b/perl/Git/SVN.pm
@@ -315,11 +315,11 @@ sub init_remote_config {
"$url => $min_url\n";
}
my $old_path = $self->path;
- $self->{path} = $url;
- $self->{path} =~ s!^\Q$min_url\E(/|$)!!;
+ $url =~ s!^\Q$min_url\E(/|$)!!;
if (length $old_path) {
- $self->{path} .= "/$old_path";
+ $url .= "/$old_path";
}
+ $self->path($url);
$url = $min_url;
}
}
@@ -343,8 +343,10 @@ sub init_remote_config {
unless ($no_write) {
command_noisy('config',
"svn-remote.$self->{repo_id}.url", $url);
- $self->{path} =~ s{^/}{};
- $self->{path} =~ s{%([0-9A-F]{2})}{chr hex($1)}ieg;
+ my $path = $self->path;
+ $path =~ s{^/}{};
+ $path =~ s{%([0-9A-F]{2})}{chr hex($1)}ieg;
+ $self->path($path);
command_noisy('config', '--add',
"svn-remote.$self->{repo_id}.fetch",
$self->path.":".$self->refname);
@@ -435,17 +437,19 @@ sub new {
}
}
my $self = _new($class, $repo_id, $ref_id, $path);
- if (!defined $self->path || !length $self->path) {
+ $path = $self->path;
+ if (!defined $path || !length $path) {
my $fetch = command_oneline('config', '--get',
"svn-remote.$repo_id.fetch",
":$ref_id\$") or
die "Failed to read \"svn-remote.$repo_id.fetch\" ",
"\":$ref_id\$\" in config\n";
- ($self->{path}, undef) = split(/\s*:\s*/, $fetch);
+ ($path, undef) = split(/\s*:\s*/, $fetch);
}
- $self->{path} =~ s{/+}{/}g;
- $self->{path} =~ s{\A/}{};
- $self->{path} =~ s{/\z}{};
+ $path =~ s{/+}{/}g;
+ $path =~ s{\A/}{};
+ $path =~ s{/\z}{};
+ $self->path($path);
$self->{url} = command_oneline('config', '--get',
"svn-remote.$repo_id.url") or
die "Failed to read \"svn-remote.$repo_id.url\" in config\n";
--
1.7.10.4
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html