From: Jonathan Nieder Date: Wed, 21 Jul 2010 15:23:11 GMT Subject: [PATCH] gitweb: clarify search results page when no matching commit found Message-ID: <20100721152311.GA12726@burratino> In-Reply-To: Erick Mattos wrote: > I did a search in gitweb > (http://git.kernel.org/?p=git/git.git;a=summary) by commit > e2007832552ccea9befed9003580c494f09e666e. > > Looks as gitweb's search is broken and giving false results. Maybe something like the following would help. -- 8< -- When searching commits for a string that never occurs, the results page looks something like this: projects / foo.git / search \o/ summary | ... | tree [commit] search: [ kfjdkas ] [ ]re first ⋅ prev ⋅ next Merge branch 'maint' Foo: a demonstration project Without a list of hits to compare it to, the header describing the commit named by the hash parameter (usually HEAD) may itself look like a hit. Add some text (“No match.”) to replace the empty list of hits to avoid this confusion. Noticed-by: Erick Mattos Signed-off-by: Jonathan Nieder --- diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index cedc357..a47eed2 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -6522,12 +6522,13 @@ sub git_search { $paging_nav .= " ⋅ next"; } - if ($#commitlist >= 100) { - } - git_print_page_nav('','', $hash,$co{'tree'},$hash, $paging_nav); git_print_header_div('commit', esc_html($co{'title'}), $hash); - git_search_grep_body(\@commitlist, 0, 99, $next_link); + if ($page == 0 && $#commitlist == 0) { + print 'No match.\n'; + } else { + git_search_grep_body(\@commitlist, 0, 99, $next_link); + } } if ($searchtype eq 'pickaxe') { --