Christopher Durkin <[email protected]> writes:
> Add another item to the search drop-down (author/committer/etc)
> to search for file names instead of file content. Output is similar
> to the grep contents output, with each entry linking to the file.
> ---
Missing sign-off.
> gitweb/gitweb.perl | 59
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 59 insertions(+)
>
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index f429f75..4a7b0a5 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
> @@ -6360,6 +6360,65 @@ sub git_search_grep_body {
> print "</table>\n";
I think this file is indented with HT, not a single SP.
> }
>
> +sub git_search_filenames {
> + my %co = @_;
... nor four SP. One level of indent is a single HT.
> + local $/ = "\n";
> + my $match_limit = 1000;
> +
> + open my $fd, "-|", git_cmd(), 'ls-tree', '--name-only',
> '--full-name', '-r',
Line-wrapped broken patch that cannot be applied (I see there are a
few more similar ones below).
> + $co{'tree'} or die_error(500, "Open git-ls-tree failed");
> +
> + git_header_html();
> +
> + git_print_page_nav('','', $hash,$co{'tree'},$hash);
> + git_print_header_div('commit', esc_html($co{'title'}), $hash);
> +
> + print "<table class=\"filename_search\">\n";
> + my $matches = 0;
> + my $alternate = 1;
> + my $file_href;
> +
> + while (my $filename = <$fd>) {
> + chomp $filename;
> +
> + if ($matches > $match_limit) {
> + print "<div class=\"diff nodifferences\">Too many
> matches, listing trimmed</div>\n";
> + last;
> + }
> +
> + if ($search_use_regexp) {
> + next unless ($filename =~ /$searchtext/);
> + } else {
> + next unless index($filename,$searchtext) >= 0;
> + }
> +
> + $matches++;
> + $file_href = href(action=>"blob", hash_base=>$co{'id'},
> + file_name=>$filename);
> +
> + if ($alternate) {
> + print "<tr class=\"dark\">\n";
> + } else {
> + print "<tr class=\"light\">\n";
> + }
> + $alternate ^= 1;
> +
> + print "<td class=\"list\">".
> + $cgi->a({-href => $file_href, -class => "list"},
> esc_path($filename));
> + print "</td>\n";
> + print "</tr>\n";
> + }
> +
> + if ($matches == 0) {
> + print "<div class=\"diff nodifferences\">No matches found</div>\n";
> + }
> + close $fd;
> +
> + print "</table>\n";
> +
> + git_footer_html();
> +}
> +
> ## ======================================================================
> ## ======================================================================
> ## actions
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html