Browse Source

use Git::SVN{,::RA}->url accessor globally

Note: The structure returned from Git::SVN->read_all_remotes() does not
appear to contain objects, so I'm leaving them alone.

That's everything converted over to the url and path accessors.

No functional change.

[ew: commit title]

Signed-off-by: Eric Wong <normalperson@yhbt.net>
maint
Michael G. Schwern 12 years ago committed by Eric Wong
parent
commit
b1ea6c3829
  1. 11
      git-svn.perl
  2. 11
      perl/Git/SVN.pm
  3. 6
      perl/Git/SVN/Migration.pm

11
git-svn.perl

@ -1395,7 +1395,7 @@ sub cmd_commit_diff { @@ -1395,7 +1395,7 @@ sub cmd_commit_diff {
fatal("Needed URL or usable git-svn --id in ",
"the command-line\n", $usage);
}
$url = $gs->{url};
$url = $gs->url;
$svn_path = $gs->path;
}
unless (defined $_revision) {
@ -1663,15 +1663,16 @@ sub complete_url_ls_init { @@ -1663,15 +1663,16 @@ sub complete_url_ls_init {
"and a separate URL is not specified");
}
}
my $url = $ra->{url};
my $url = $ra->url;
my $gs = Git::SVN->init($url, undef, undef, undef, 1);
my $k = "svn-remote.$gs->{repo_id}.url";
my $orig_url = eval { command_oneline(qw/config --get/, $k) };
if ($orig_url && ($orig_url ne $gs->{url})) {
if ($orig_url && ($orig_url ne $gs->url)) {
die "$k already set: $orig_url\n",
"wanted to set to: $gs->{url}\n";
"wanted to set to: $gs->url\n";
}
command_oneline('config', $k, $gs->{url}) unless $orig_url;
command_oneline('config', $k, $gs->url) unless $orig_url;

my $remote_path = $gs->path . "/$repo_path";
$remote_path =~ s{%([0-9A-F]{2})}{chr hex($1)}ieg;
$remote_path =~ s#/+#/#g;

11
perl/Git/SVN.pm

@ -560,7 +560,7 @@ sub _set_svm_vars { @@ -560,7 +560,7 @@ sub _set_svm_vars {
# username is of no interest
$src =~ s{(^[a-z\+]*://)[^/@]*@}{$1};

my $replace = $ra->{url};
my $replace = $ra->url;
$replace .= "/$path" if length $path;

my $section = "svn-remote.$self->{repo_id}";
@ -599,16 +599,17 @@ sub _set_svm_vars { @@ -599,16 +599,17 @@ sub _set_svm_vars {
$path = $ra->{svn_path};
$ra = Git::SVN::Ra->new($ra->{repos_root});
while (length $path) {
unless ($tried{"$ra->{url}/$path"}) {
my $try = $ra->url ."/$path";
unless ($tried{$try}) {
$ok = $self->read_svm_props($ra, $path, $r);
last if $ok;
$tried{"$ra->{url}/$path"} = 1;
$tried{$try} = 1;
}
$path =~ s#/?[^/]+$##;
}
die "Path: '$path' should be ''\n" if $path ne '';
$ok ||= $self->read_svm_props($ra, $path, $r);
$tried{"$ra->{url}/$path"} = 1;
$tried{$ra->url ."/$path"} = 1;
if (!$ok) {
die @err, (map { " $_\n" } keys %tried), "\n";
}
@ -1108,7 +1109,7 @@ sub find_parent_branch { @@ -1108,7 +1109,7 @@ sub find_parent_branch {
}
my $r = $i->{copyfrom_rev};
my $repos_root = $self->ra->{repos_root};
my $url = $self->ra->{url};
my $url = $self->ra->url;
my $new_url = $url . $branch_from;
print STDERR "Found possible branch point: ",
"$new_url => ", $self->full_url, ", $r\n"

6
perl/Git/SVN/Migration.pm

@ -177,14 +177,14 @@ sub minimize_connections { @@ -177,14 +177,14 @@ sub minimize_connections {
my $ra = Git::SVN::Ra->new($url);

# skip existing cases where we already connect to the root
if (($ra->{url} eq $ra->{repos_root}) ||
if (($ra->url eq $ra->{repos_root}) ||
($ra->{repos_root} eq $repo_id)) {
$root_repos->{$ra->{url}} = $repo_id;
$root_repos->{$ra->url} = $repo_id;
next;
}

my $root_ra = Git::SVN::Ra->new($ra->{repos_root});
my $root_path = $ra->{url};
my $root_path = $ra->url;
$root_path =~ s#^\Q$ra->{repos_root}\E(/|$)##;
foreach my $path (keys %$fetch) {
my $ref_id = $fetch->{$path};

Loading…
Cancel
Save