Re: [PATCH 6/7] Switch path canonicalization to use the SVN API.
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Jul 28, 2012, 13:55 UTC
- Message-ID
- <20120728135502.GC9715@burratino>
- In-Reply-To
- <1343468312-72024-7-git-send-email-schwern@pobox.com>
Michael G. Schwern wrote:
Show 20 quoted lines
> --- a/perl/Git/SVN/Utils.pm
> +++ b/perl/Git/SVN/Utils.pm
> @@ -86,6 +86,27 @@ sub _collapse_dotdot {
>
>
> sub canonicalize_path {
> + my $path = shift;
> +
> + # The 1.7 way to do it
> + if ( defined &SVN::_Core::svn_dirent_canonicalize ) {
> + $path = _collapse_dotdot($path);
> + return SVN::_Core::svn_dirent_canonicalize($path);
> + }
> + # The 1.6 way to do it
> + elsif ( defined &SVN::_Core::svn_path_canonicalize ) {
> + $path = _collapse_dotdot($path);
> + return SVN::_Core::svn_path_canonicalize($path);
> + }
> + # No SVN API canonicalization is available, do it ourselves
> + else {When would this "else" case trip? Would it be safe to make it return an error message, or even to do something like the following?
sub canonicalize_path {
my $path = shift;
$path = _collapse_dotdot($path); # Subversion 1.7 split svn_path_canonicalize() into
# svn_dirent_canonicalize() and svn_uri_canonicalize().
if (!defined &SVN::_Core::svn_dirent_canonicalize) {
return SVN::_Core::svn_path_canonicalize($path);
}return SVN::_Core::svn_dirent_canonicalize($path); }
Thanks, Jonathan