зеркало из https://github.com/microsoft/git.git
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>
This commit is contained in:
Родитель
4d0157d699
Коммит
9be30eed61
|
@ -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";
|
||||
|
|
|
@ -82,4 +82,27 @@ test_expect_success 'git svn mkdirs -r works' '
|
|||
)
|
||||
'
|
||||
|
||||
test_expect_success 'initialize trunk' '
|
||||
for i in trunk trunk/a trunk/"weird file name"
|
||||
do
|
||||
svn_cmd mkdir -m "mkdir $i" "$svnrepo"/"$i"
|
||||
done
|
||||
'
|
||||
|
||||
test_expect_success 'clone trunk' 'git svn clone -s "$svnrepo" trunk'
|
||||
|
||||
test_expect_success 'empty directories in trunk exist' '
|
||||
(
|
||||
cd trunk &&
|
||||
for i in a "weird file name"
|
||||
do
|
||||
if ! test -d "$i"
|
||||
then
|
||||
echo >&2 "$i does not exist"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
)
|
||||
'
|
||||
|
||||
test_done
|
||||
|
|
Загрузка…
Ссылка в новой задаче