Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
git-svn: use SVN 1.7 to canonicalize when possible
author
Michael G. Schwern
<schwern@pobox.com>
Sat, 28 Jul 2012 09:38:27 +0000
(
02:38
-0700)
committer
Eric Wong
<normalperson@yhbt.net>
Thu, 2 Aug 2012 21:43:10 +0000
(21:43 +0000)
No change on SVN 1.6. The tests all pass with SVN 1.6 if
canonicalize_url() does nothing, so tests passing doesn't have
much meaning.
The tests are so messed up right now with SVN 1.7 it isn't really
useful to check. They will be useful later.
[ew: commit title]
Signed-off-by: Eric Wong <normalperson@yhbt.net>
perl/Git/SVN/Utils.pm
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
91e6e0c
)
diff --git
a/perl/Git/SVN/Utils.pm
b/perl/Git/SVN/Utils.pm
index ad5351e9baa202cec74b4ff546ac030642ac1ddc..246d1aa6010956353e11cee0b6e7e594234ce094 100644
(file)
--- a/
perl/Git/SVN/Utils.pm
+++ b/
perl/Git/SVN/Utils.pm
@@
-3,6
+3,8
@@
package Git::SVN::Utils;
use strict;
use warnings;
use strict;
use warnings;
+use SVN::Core;
+
use base qw(Exporter);
our @EXPORT_OK = qw(
use base qw(Exporter);
our @EXPORT_OK = qw(
@@
-100,6
+102,20
@@
=head3 canonicalize_url
=cut
sub canonicalize_url {
=cut
sub canonicalize_url {
+ my $url = shift;
+
+ # The 1.7 way to do it
+ if ( defined &SVN::_Core::svn_uri_canonicalize ) {
+ return SVN::_Core::svn_uri_canonicalize($url);
+ }
+ # There wasn't a 1.6 way to do it, so we do it ourself.
+ else {
+ return _canonicalize_url_ourselves($url);
+ }
+}
+
+
+sub _canonicalize_url_ourselves {
my ($url) = @_;
$url =~ s#^([^:]+://[^/]*/)(.*)$#$1 . canonicalize_path($2)#e;
return $url;
my ($url) = @_;
$url =~ s#^([^:]+://[^/]*/)(.*)$#$1 . canonicalize_path($2)#e;
return $url;