mirror of
https://github.com/git/git.git
synced 2024-11-20 09:04:08 +01:00
Fix reading of cloud tags
The projectroot path could have SP in it, in which case iterating over <$git_dir/ctags/*> does not correctly enumerate the cloud tags files at all. This can be observed by creating an empty t/trash directory and running t9500 test. The $projectroot ends with "trash directory.t9500-gitweb-/" and <$glob> would give "trash", which can be opened and reading from it immediately yields undef, which in turn gives an undef value warning to the standard error stream upon attempt to chomp it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
67faaaba83
commit
eee0184da8
@ -1805,7 +1805,10 @@ sub git_get_project_ctags {
|
||||
my $ctags = {};
|
||||
|
||||
$git_dir = "$projectroot/$path";
|
||||
foreach (<$git_dir/ctags/*>) {
|
||||
unless (opendir D, "$git_dir/ctags") {
|
||||
return $ctags;
|
||||
}
|
||||
foreach (grep { -f $_ } map { "$git_dir/ctags/$_" } readdir(D)) {
|
||||
open CT, $_ or next;
|
||||
my $val = <CT>;
|
||||
chomp $val;
|
||||
@ -1813,6 +1816,7 @@ sub git_get_project_ctags {
|
||||
my $ctag = $_; $ctag =~ s#.*/##;
|
||||
$ctags->{$ctag} = $val;
|
||||
}
|
||||
closedir D;
|
||||
$ctags;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user