gitweb: Use rev-list pattern search options.

Use rev-list pattern search options instead of hand coded perl.

Signed-off-by: Robert Fitzsimons <robfitz@273k.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Robert Fitzsimons 2006-12-23 03:35:14 +00:00 коммит произвёл Junio C Hamano
Родитель 0a5761746c
Коммит 8e574fb542
1 изменённых файлов: 10 добавлений и 10 удалений

Просмотреть файл

@ -4176,20 +4176,20 @@ sub git_search {
print "<table cellspacing=\"0\">\n";
my $alternate = 1;
if ($searchtype eq 'commit' or $searchtype eq 'author' or $searchtype eq 'committer') {
my $greptype;
if ($searchtype eq 'commit') {
$greptype = "--grep=";
} elsif ($searchtype eq 'author') {
$greptype = "--author=";
} elsif ($searchtype eq 'committer') {
$greptype = "--committer=";
}
$/ = "\0";
open my $fd, "-|", git_cmd(), "rev-list",
"--header", "--parents", $hash, "--"
"--header", "--parents", ($greptype . $searchtext),
$hash, "--"
or next;
while (my $commit_text = <$fd>) {
if (!grep m/$searchtext/i, $commit_text) {
next;
}
if ($searchtype eq 'author' && !grep m/\nauthor .*$searchtext/i, $commit_text) {
next;
}
if ($searchtype eq 'committer' && !grep m/\ncommitter .*$searchtext/i, $commit_text) {
next;
}
my @commit_lines = split "\n", $commit_text;
my %co = parse_commit(undef, \@commit_lines);
if (!%co) {