git-svn: add join_paths() to safely concatenate paths
Otherwise you might wind up with things like... my $path1 = undef; my $path2 = 'foo'; my $path = $path1 . '/' . $path2; creating '/foo'. Or this... my $path1 = 'foo/'; my $path2 = 'bar'; my $path = $path1 . '/' . $path2; creating 'foo//bar'. Could have used File::Spec, but I'm shying away from it due to SVN 1.7's pickiness about paths. Felt it would be better to have our own we can control completely. [ew: commit title] Signed-off-by: Eric Wong <normalperson@yhbt.net>
This commit is contained in:

committed by
Eric Wong

parent
280ad88aa0
commit
ca475a61f8
@ -34,6 +34,7 @@ use Git::SVN::Utils qw(
|
||||
can_compress
|
||||
canonicalize_path
|
||||
canonicalize_url
|
||||
join_paths
|
||||
);
|
||||
|
||||
use Git qw(
|
||||
@ -1275,7 +1276,7 @@ sub get_svnprops {
|
||||
$path = $cmd_dir_prefix . $path;
|
||||
fatal("No such file or directory: $path") unless -e $path;
|
||||
my $is_dir = -d $path ? 1 : 0;
|
||||
$path = $gs->{path} . '/' . $path;
|
||||
$path = join_paths($gs->{path}, $path);
|
||||
|
||||
# canonicalize the path (otherwise libsvn will abort or fail to
|
||||
# find the file)
|
||||
|
Reference in New Issue
Block a user