mirror of
https://github.com/git/git.git
synced 2024-12-01 05:54:16 +08:00
gitweb: Fix file links in "grep" search
There were two bugs in generating file links (links to "blob" view), one hidden by the other. The correct way of generating file link is href(action=>"blob", hash_base=>$co{'id'}, file_name=>$file); It was $co{'hash'} (this key does not exist, and therefore this is undef), and 'hash' instead of 'hash_base'. To have this fix applied in single place, this commit also reduces code duplication by saving file link (which is used for line links) in $file_href. Reported-by: Thomas Perl <th.perl@gmail.com> Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
1327d83954
commit
ff7f2185d6
@ -5715,7 +5715,7 @@ sub git_search_files {
|
||||
my $lastfile = '';
|
||||
while (my $line = <$fd>) {
|
||||
chomp $line;
|
||||
my ($file, $lno, $ltext, $binary);
|
||||
my ($file, $file_href, $lno, $ltext, $binary);
|
||||
last if ($matches++ > 1000);
|
||||
if ($line =~ /^Binary file (.+) matches$/) {
|
||||
$file = $1;
|
||||
@ -5730,10 +5730,10 @@ sub git_search_files {
|
||||
} else {
|
||||
print "<tr class=\"light\">\n";
|
||||
}
|
||||
$file_href = href(action=>"blob", hash_base=>$co{'id'},
|
||||
file_name=>$file);
|
||||
print "<td class=\"list\">".
|
||||
$cgi->a({-href => href(action=>"blob", hash=>$co{'hash'},
|
||||
file_name=>"$file"),
|
||||
-class => "list"}, esc_path($file));
|
||||
$cgi->a({-href => $file_href, -class => "list"}, esc_path($file));
|
||||
print "</td><td>\n";
|
||||
$lastfile = $file;
|
||||
}
|
||||
@ -5751,10 +5751,9 @@ sub git_search_files {
|
||||
$ltext = esc_html($ltext, -nbsp=>1);
|
||||
}
|
||||
print "<div class=\"pre\">" .
|
||||
$cgi->a({-href => href(action=>"blob", hash=>$co{'hash'},
|
||||
file_name=>"$file").'#l'.$lno,
|
||||
-class => "linenr"}, sprintf('%4i', $lno))
|
||||
. ' ' . $ltext . "</div>\n";
|
||||
$cgi->a({-href => $file_href.'#l'.$lno,
|
||||
-class => "linenr"}, sprintf('%4i', $lno)) .
|
||||
' ' . $ltext . "</div>\n";
|
||||
}
|
||||
}
|
||||
if ($lastfile) {
|
||||
|
Loading…
Reference in New Issue
Block a user