aboutsummaryrefslogtreecommitdiff
path: root/git-svn.perl
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2009-11-22 18:11:32 -0800
committerEric Wong <normalperson@yhbt.net>2009-11-22 18:15:42 -0800
commit9be30eed61993a6f2d04a1609723e64e7632a64e (patch)
treedeea3b2111051bab7afe65c86188afc744d7e7a5 /git-svn.perl
parent4d0157d6995925ea55ff181ea94d058583333f90 (diff)
downloadgit-9be30eed61993a6f2d04a1609723e64e7632a64e.tar.gz
git-9be30eed61993a6f2d04a1609723e64e7632a64e.tar.xz
git svn: strip leading path when making empty dirs
Since unhandled.log stores paths relative to the repository root, we need to strip out leading path components if the directories we're tracking are not the repository root. Reported-by: Björn Steinbrink Signed-off-by: Eric Wong <normalperson@yhbt.net>
Diffstat (limited to 'git-svn.perl')
-rwxr-xr-xgit-svn.perl3
1 files changed, 3 insertions, 0 deletions
diff --git a/git-svn.perl b/git-svn.perl
index 7f7a56fbe..957d44e63 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -2752,8 +2752,11 @@ sub mkemptydirs {
}
}
close $fh;
+
+ my $strip = qr/\A\Q$self->{path}\E(?:\/|$)/;
foreach my $d (sort keys %empty_dirs) {
$d = uri_decode($d);
+ $d =~ s/$strip//;
next if -d $d;
if (-e _) {
warn "$d exists but is not a directory\n";