Code

Merge branch 'maint'
authorJunio C Hamano <gitster@pobox.com>
Mon, 20 Feb 2012 08:14:17 +0000 (00:14 -0800)
committerJunio C Hamano <gitster@pobox.com>
Mon, 20 Feb 2012 08:14:17 +0000 (00:14 -0800)
* maint:
  Update draft release notes to 1.7.9.2
  gitweb: Fix 'grep' search for multiple matches in file

Documentation/RelNotes/1.7.9.2.txt
gitweb/gitweb.perl
t/t9500-gitweb-standalone-no-errors.sh

index 5dd06f2177754513b6724bf823d393b849252ade..3f9467eb89ecbdbacca4ef9baa7d01a4912650ed 100644 (file)
@@ -24,4 +24,7 @@ Fixes since v1.7.9.1
 
 * Search box in "gitweb" did not accept non-ASCII characters correctly.
 
+* Search interface of "gitweb" did not show multiple matches in the same file
+  correctly.
+
 Also contains minor fixes and documentation updates.
index 3fc7380a5ea510b705eb49542c3e698b0dddb02c..16d376075ea8bb47271aaeffebacf56fd41e713b 100755 (executable)
@@ -5915,9 +5915,10 @@ sub git_search_files {
        my $alternate = 1;
        my $matches = 0;
        my $lastfile = '';
+       my $file_href;
        while (my $line = <$fd>) {
                chomp $line;
-               my ($file, $file_href, $lno, $ltext, $binary);
+               my ($file, $lno, $ltext, $binary);
                last if ($matches++ > 1000);
                if ($line =~ /^Binary file (.+) matches$/) {
                        $file = $1;
index 0f771c673d58009e2bcde45254d4b4e9fa68efb9..40a1cb571e4a6ac285398054962c139a316d4306 100755 (executable)
@@ -637,6 +637,45 @@ test_expect_success \
        'config override: tree view, features enabled in repo config (2)' \
        'gitweb_run "p=.git;a=tree"'
 
+# ----------------------------------------------------------------------
+# searching
+
+cat >>gitweb_config.perl <<\EOF
+
+# enable search
+$feature{'search'}{'default'} = [1];
+$feature{'grep'}{'default'} = [1];
+$feature{'pickaxe'}{'default'} = [1];
+EOF
+
+test_expect_success \
+       'search: preparation' \
+       'echo "1st MATCH" >>file &&
+        echo "2nd MATCH" >>file &&
+        echo "MATCH" >>bar &&
+        git add file bar &&
+        git commit -m "Added MATCH word"'
+
+test_expect_success \
+       'search: commit author' \
+       'gitweb_run "p=.git;a=search;h=HEAD;st=author;s=A+U+Thor"'
+
+test_expect_success \
+       'search: commit message' \
+       'gitweb_run "p=.git;a=search;h=HEAD;st=commitr;s=MATCH"'
+
+test_expect_success \
+       'search: grep' \
+       'gitweb_run "p=.git;a=search;h=HEAD;st=grep;s=MATCH"'
+
+test_expect_success \
+       'search: pickaxe' \
+       'gitweb_run "p=.git;a=search;h=HEAD;st=pickaxe;s=MATCH"'
+
+test_expect_success \
+       'search: projects' \
+       'gitweb_run "a=project_list;s=.git"'
+
 # ----------------------------------------------------------------------
 # non-ASCII in README.html