summaryrefslogtreecommitdiff
path: root/perl/Git
diff options
context:
space:
mode:
authorLibravatar Michael G. Schwern <schwern@pobox.com>2012-07-28 02:38:32 -0700
committerLibravatar Eric Wong <normalperson@yhbt.net>2012-08-02 21:45:56 +0000
commit565e56c2cc7ebe42ad12ee5970f3d5af1dc3f36c (patch)
tree083ae13fc414fe22d24e85670037116bcac78398 /perl/Git
parentgit-svn: path canonicalization uses SVN API (diff)
downloadtgif-565e56c2cc7ebe42ad12ee5970f3d5af1dc3f36c.tar.xz
Git::SVN{,::Ra}: canonicalize earlier
This canonicalizes paths and urls as early as possible so we don't have to remember to do it at the point of use. It will fix a swath of SVN 1.7 problems in one go. Its ok to double canonicalize things. SVN 1.7 still fails, still not worrying about that. [ew: commit title] Signed-off-by: Eric Wong <normalperson@yhbt.net>
Diffstat (limited to 'perl/Git')
-rw-r--r--perl/Git/SVN.pm6
-rw-r--r--perl/Git/SVN/Ra.pm6
2 files changed, 9 insertions, 3 deletions
diff --git a/perl/Git/SVN.pm b/perl/Git/SVN.pm
index ff747821fb..dacac7fb46 100644
--- a/perl/Git/SVN.pm
+++ b/perl/Git/SVN.pm
@@ -27,6 +27,8 @@ use Git::SVN::Utils qw(
fatal
can_compress
join_paths
+ canonicalize_path
+ canonicalize_url
);
my $can_use_yaml;
@@ -2304,7 +2306,7 @@ sub path {
if (@_) {
my $path = shift;
- $self->{path} = $path;
+ $self->{path} = canonicalize_path($path);
return;
}
@@ -2316,7 +2318,7 @@ sub url {
if (@_) {
my $url = shift;
- $self->{url} = $url;
+ $self->{url} = canonicalize_url($url);
return;
}
diff --git a/perl/Git/SVN/Ra.pm b/perl/Git/SVN/Ra.pm
index 9234bf99e8..77bceb913a 100644
--- a/perl/Git/SVN/Ra.pm
+++ b/perl/Git/SVN/Ra.pm
@@ -3,6 +3,10 @@ use vars qw/@ISA $config_dir $_ignore_refs_regex $_log_window_size/;
use strict;
use warnings;
use SVN::Client;
+use Git::SVN::Utils qw(
+ canonicalize_url
+);
+
use SVN::Ra;
BEGIN {
@ISA = qw(SVN::Ra);
@@ -137,7 +141,7 @@ sub url {
if (@_) {
my $url = shift;
- $self->{url} = $url;
+ $self->{url} = canonicalize_url($url);
return;
}