mirror of
https://github.com/git/git.git
synced 2026-01-18 06:34:21 +00:00
Merge branch 'gl/web' into next
* gl/web: gitweb: Refactor printing commit message gitweb: fix project list if PATH_INFO=="/". gitweb: support for / as home_link. gitweb: support for "fp" parameter. gitweb: continue consolidation of URL generation. gitweb: Uniquify version info output, add meta generator in page header
This commit is contained in:
@@ -34,7 +34,7 @@ our $projectroot = "++GITWEB_PROJECTROOT++";
|
||||
our $git_temp = "/tmp/gitweb";
|
||||
|
||||
# target of the home link on top of all pages
|
||||
our $home_link = $my_uri;
|
||||
our $home_link = $my_uri || "/";
|
||||
|
||||
# string of the home link on top of all pages
|
||||
our $home_link_str = "++GITWEB_HOME_LINK_STR++";
|
||||
@@ -95,8 +95,9 @@ our $project = ($cgi->param('p') || $ENV{'PATH_INFO'});
|
||||
if (defined $project) {
|
||||
$project =~ s|^/||;
|
||||
$project =~ s|/$||;
|
||||
$project = undef unless $project;
|
||||
}
|
||||
if (defined $project && $project) {
|
||||
if (defined $project) {
|
||||
if (!validate_input($project)) {
|
||||
die_error(undef, "Invalid project parameter");
|
||||
}
|
||||
@@ -119,6 +120,13 @@ if (defined $file_name) {
|
||||
}
|
||||
}
|
||||
|
||||
our $file_parent = $cgi->param('fp');
|
||||
if (defined $file_parent) {
|
||||
if (!validate_input($file_parent)) {
|
||||
die_error(undef, "Invalid file parent parameter");
|
||||
}
|
||||
}
|
||||
|
||||
our $hash = $cgi->param('h');
|
||||
if (defined $hash) {
|
||||
if (!validate_input($hash)) {
|
||||
@@ -192,6 +200,7 @@ sub href(%) {
|
||||
action => "a",
|
||||
project => "p",
|
||||
file_name => "f",
|
||||
file_parent => "fp",
|
||||
hash => "h",
|
||||
hash_parent => "hp",
|
||||
hash_base => "hb",
|
||||
@@ -204,7 +213,9 @@ sub href(%) {
|
||||
|
||||
my $href = "$my_uri?";
|
||||
$href .= esc_param( join(";",
|
||||
map { "$mapping{$_}=$params{$_}" } keys %params
|
||||
map {
|
||||
"$mapping{$_}=$params{$_}" if defined $params{$_}
|
||||
} keys %params
|
||||
) );
|
||||
|
||||
return $href;
|
||||
@@ -996,10 +1007,11 @@ sub git_header_html {
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
|
||||
<!-- git web interface v$version, (C) 2005-2006, Kay Sievers <kay.sievers\@vrfy.org>, Christian Gierke -->
|
||||
<!-- git web interface version $version, (C) 2005-2006, Kay Sievers <kay.sievers\@vrfy.org>, Christian Gierke -->
|
||||
<!-- git core binaries version $git_version -->
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="$content_type; charset=utf-8"/>
|
||||
<meta name="generator" content="gitweb/$version git/$git_version"/>
|
||||
<meta name="robots" content="index, nofollow"/>
|
||||
<title>$title</title>
|
||||
<link rel="stylesheet" type="text/css" href="$stylesheet"/>
|
||||
@@ -1057,7 +1069,7 @@ sub git_footer_html {
|
||||
}
|
||||
print $cgi->a({-href => href(action=>"rss"), -class => "rss_logo"}, "RSS") . "\n";
|
||||
} else {
|
||||
print $cgi->a({-href => "$my_uri?" . esc_param("a=opml"), -class => "rss_logo"}, "OPML") . "\n";
|
||||
print $cgi->a({-href => href(action=>"opml"), -class => "rss_logo"}, "OPML") . "\n";
|
||||
}
|
||||
print "</div>\n" .
|
||||
"</body>\n" .
|
||||
@@ -1174,6 +1186,66 @@ sub git_print_page_path {
|
||||
}
|
||||
}
|
||||
|
||||
sub git_print_log {
|
||||
my $log = shift;
|
||||
|
||||
# remove leading empty lines
|
||||
while (defined $log->[0] && $log->[0] eq "") {
|
||||
shift @$log;
|
||||
}
|
||||
|
||||
# print log
|
||||
my $signoff = 0;
|
||||
my $empty = 0;
|
||||
foreach my $line (@$log) {
|
||||
# print only one empty line
|
||||
# do not print empty line after signoff
|
||||
if ($line eq "") {
|
||||
next if ($empty || $signoff);
|
||||
$empty = 1;
|
||||
} else {
|
||||
$empty = 0;
|
||||
}
|
||||
if ($line =~ m/^ *(signed[ \-]off[ \-]by[ :]|acked[ \-]by[ :]|cc[ :])/i) {
|
||||
$signoff = 1;
|
||||
print "<span class=\"signoff\">" . esc_html($line) . "</span><br/>\n";
|
||||
} else {
|
||||
$signoff = 0;
|
||||
print format_log_line_html($line) . "<br/>\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sub git_print_simplified_log {
|
||||
my $log = shift;
|
||||
my $remove_title = shift;
|
||||
|
||||
shift @$log if $remove_title;
|
||||
# remove leading empty lines
|
||||
while (defined $log->[0] && $log->[0] eq "") {
|
||||
shift @$log;
|
||||
}
|
||||
|
||||
# simplify and print log
|
||||
my $empty = 0;
|
||||
foreach my $line (@$log) {
|
||||
# remove signoff lines
|
||||
if ($line =~ m/^ *(signed[ \-]off[ \-]by[ :]|acked[ \-]by[ :]|cc[ :])/i) {
|
||||
next;
|
||||
}
|
||||
# print only one empty line
|
||||
if ($line eq "") {
|
||||
next if $empty;
|
||||
$empty = 1;
|
||||
} else {
|
||||
$empty = 0;
|
||||
}
|
||||
print format_log_line_html($line) . "<br/>\n";
|
||||
}
|
||||
# end with single empty line
|
||||
print "<br/>\n" unless $empty;
|
||||
}
|
||||
|
||||
## ......................................................................
|
||||
## functions printing large fragments of HTML
|
||||
|
||||
@@ -1262,7 +1334,7 @@ sub git_difftree_body {
|
||||
"<td class=\"link\">" .
|
||||
$cgi->a({-href => href(action=>"blob", hash=>$to_id, hash_base=>$hash, file_name=>$file)}, "blob");
|
||||
if ($to_id ne $from_id) { # modified
|
||||
print $cgi->a({-href => href(action=>"blobdiff", hash=>$to_id, hash_parent=>$from_id, hash_base=>$hash, file_name=>$file)}, "diff");
|
||||
print " | " . $cgi->a({-href => href(action=>"blobdiff", hash=>$to_id, hash_parent=>$from_id, hash_base=>$hash, file_name=>$file)}, "diff");
|
||||
}
|
||||
print " | " . $cgi->a({-href => href(action=>"history", hash_base=>$hash, file_name=>$file)}, "history") . "\n";
|
||||
print "</td>\n";
|
||||
@@ -1284,8 +1356,7 @@ sub git_difftree_body {
|
||||
$cgi->a({-href => href(action=>"blob", hash=>$to_id, hash_base=>$hash, file_name=>$to_file)}, "blob");
|
||||
if ($to_id ne $from_id) {
|
||||
print " | " .
|
||||
$cgi->a({-href => "$my_uri?" .
|
||||
esc_param("p=$project;a=blobdiff;h=$to_id;hp=$from_id;hb=$hash;f=$to_file;fp=$from_file")}, "diff");
|
||||
$cgi->a({-href => href(action=>"blobdiff", hash=>$to_id, hash_parent=>$from_id, hash_base=>$hash, file_name=>$to_file, file_parent=>$from_file)}, "diff");
|
||||
}
|
||||
print "</td>\n";
|
||||
|
||||
@@ -1306,8 +1377,7 @@ sub git_difftree_body {
|
||||
$cgi->a({-href => href(action=>"blob", hash=>$to_id, hash_base=>$hash, file_name=>$to_file)}, "blob");
|
||||
if ($to_id ne $from_id) {
|
||||
print " | " .
|
||||
$cgi->a({-href => "$my_uri?" .
|
||||
esc_param("p=$project;a=blobdiff;h=$to_id;hp=$from_id;hb=$hash;f=$to_file;fp=$from_file")}, "diff");
|
||||
$cgi->a({-href => href(action=>"blobdiff", hash=>$to_id, hash_parent=>$from_id, hash_base=>$hash, file_name=>$to_file, file_parent=>$from_file)}, "diff");
|
||||
}
|
||||
print "</td>\n";
|
||||
} # we should not encounter Unmerged (U) or Unknown (X) status
|
||||
@@ -1673,16 +1743,16 @@ sub git_project_list {
|
||||
print "<tr class=\"light\">\n";
|
||||
}
|
||||
$alternate ^= 1;
|
||||
print "<td>" . $cgi->a({-href => "$my_uri?" . esc_param("p=$pr->{'path'};a=summary"),
|
||||
print "<td>" . $cgi->a({-href => href(project=>$pr->{'path'}, action=>"summary"),
|
||||
-class => "list"}, esc_html($pr->{'path'})) . "</td>\n" .
|
||||
"<td>" . esc_html($pr->{'descr'}) . "</td>\n" .
|
||||
"<td><i>" . chop_str($pr->{'owner'}, 15) . "</i></td>\n";
|
||||
print "<td class=\"". age_class($pr->{'commit'}{'age'}) . "\">" .
|
||||
$pr->{'commit'}{'age_string'} . "</td>\n" .
|
||||
"<td class=\"link\">" .
|
||||
$cgi->a({-href => "$my_uri?" . esc_param("p=$pr->{'path'};a=summary")}, "summary") . " | " .
|
||||
$cgi->a({-href => "$my_uri?" . esc_param("p=$pr->{'path'};a=shortlog")}, "shortlog") . " | " .
|
||||
$cgi->a({-href => "$my_uri?" . esc_param("p=$pr->{'path'};a=log")}, "log") .
|
||||
$cgi->a({-href => href(project=>$pr->{'path'}, action=>"summary")}, "summary") . " | " .
|
||||
$cgi->a({-href => href(project=>$pr->{'path'}, action=>"shortlog")}, "shortlog") . " | " .
|
||||
$cgi->a({-href => href(project=>$pr->{'path'}, action=>"log")}, "log") .
|
||||
"</td>\n" .
|
||||
"</tr>\n";
|
||||
}
|
||||
@@ -2050,11 +2120,11 @@ sub git_tree {
|
||||
my $refs = git_get_references();
|
||||
my $ref = format_ref_marker($refs, $hash_base);
|
||||
git_header_html();
|
||||
my $base_key = "";
|
||||
my %base_key = ();
|
||||
my $base = "";
|
||||
my $have_blame = git_get_project_config_bool ('blame');
|
||||
if (defined $hash_base && (my %co = parse_commit($hash_base))) {
|
||||
$base_key = ";hb=$hash_base";
|
||||
$base_key{hash_base} = $hash_base;
|
||||
git_print_page_nav('tree','', $hash_base);
|
||||
git_print_header_div('commit', esc_html($co{'title'}) . $ref, $hash_base);
|
||||
} else {
|
||||
@@ -2085,23 +2155,23 @@ sub git_tree {
|
||||
print "<td class=\"mode\">" . mode_str($t_mode) . "</td>\n";
|
||||
if ($t_type eq "blob") {
|
||||
print "<td class=\"list\">" .
|
||||
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blob;h=$t_hash$base_key;f=$base$t_name"), -class => "list"}, esc_html($t_name)) .
|
||||
$cgi->a({-href => href(action=>"blob", hash=>$t_hash, file_name=>"$base$t_name", %base_key), -class => "list"}, esc_html($t_name)) .
|
||||
"</td>\n" .
|
||||
"<td class=\"link\">" .
|
||||
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blob;h=$t_hash$base_key;f=$base$t_name")}, "blob");
|
||||
$cgi->a({-href => href(action=>"blob", hash=>$t_hash, file_name=>"$base$t_name", %base_key)}, "blob");
|
||||
if ($have_blame) {
|
||||
print " | " . $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blame;h=$t_hash$base_key;f=$base$t_name")}, "blame");
|
||||
print " | " . $cgi->a({-href => href(action=>"blame", hash=>$t_hash, file_name=>"$base$t_name", %base_key)}, "blame");
|
||||
}
|
||||
print " | " . $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=history;h=$t_hash;hb=$hash_base;f=$base$t_name")}, "history") .
|
||||
" | " . $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blob_plain;h=$t_hash;f=$base$t_name")}, "raw") .
|
||||
print " | " . $cgi->a({-href => href(action=>"history", hash=>$t_hash, hash_base=>$hash_base, file_name=>"$base$t_name")}, "history") .
|
||||
" | " . $cgi->a({-href => href(action=>"blob_plain", hash=>$t_hash, file_name=>"$base$t_name")}, "raw") .
|
||||
"</td>\n";
|
||||
} elsif ($t_type eq "tree") {
|
||||
print "<td class=\"list\">" .
|
||||
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=tree;h=$t_hash$base_key;f=$base$t_name")}, esc_html($t_name)) .
|
||||
$cgi->a({-href => href(action=>"tree", hash=>$t_hash, file_name=>"$base$t_name", %base_key)}, esc_html($t_name)) .
|
||||
"</td>\n" .
|
||||
"<td class=\"link\">" .
|
||||
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=tree;h=$t_hash$base_key;f=$base$t_name")}, "tree") .
|
||||
" | " . $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=history;hb=$hash_base;f=$base$t_name")}, "history") .
|
||||
$cgi->a({-href => href(action=>"tree", hash=>$t_hash, file_name=>"$base$t_name", %base_key)}, "tree") .
|
||||
" | " . $cgi->a({-href => href(action=>"history", hash_base=>$hash_base, file_name=>"$base$t_name")}, "history") .
|
||||
"</td>\n";
|
||||
}
|
||||
print "</tr>\n";
|
||||
@@ -2155,27 +2225,10 @@ sub git_log {
|
||||
"<br/>\n" .
|
||||
"</div>\n" .
|
||||
"<i>" . esc_html($co{'author_name'}) . " [$ad{'rfc2822'}]</i><br/>\n" .
|
||||
"</div>\n" .
|
||||
"<div class=\"log_body\">\n";
|
||||
my $comment = $co{'comment'};
|
||||
my $empty = 0;
|
||||
foreach my $line (@$comment) {
|
||||
if ($line =~ m/^ *(signed[ \-]off[ \-]by[ :]|acked[ \-]by[ :]|cc[ :])/i) {
|
||||
next;
|
||||
}
|
||||
if ($line eq "") {
|
||||
if ($empty) {
|
||||
next;
|
||||
}
|
||||
$empty = 1;
|
||||
} else {
|
||||
$empty = 0;
|
||||
}
|
||||
print format_log_line_html($line) . "<br/>\n";
|
||||
}
|
||||
if (!$empty) {
|
||||
print "<br/>\n";
|
||||
}
|
||||
"</div>\n";
|
||||
|
||||
print "<div class=\"log_body\">\n";
|
||||
git_print_simplified_log($co{'comment'});
|
||||
print "</div>\n";
|
||||
}
|
||||
git_footer_html();
|
||||
@@ -2256,28 +2309,9 @@ sub git_commit {
|
||||
}
|
||||
print "</table>".
|
||||
"</div>\n";
|
||||
|
||||
print "<div class=\"page_body\">\n";
|
||||
my $comment = $co{'comment'};
|
||||
my $empty = 0;
|
||||
my $signed = 0;
|
||||
foreach my $line (@$comment) {
|
||||
# print only one empty line
|
||||
if ($line eq "") {
|
||||
if ($empty || $signed) {
|
||||
next;
|
||||
}
|
||||
$empty = 1;
|
||||
} else {
|
||||
$empty = 0;
|
||||
}
|
||||
if ($line =~ m/^ *(signed[ \-]off[ \-]by[ :]|acked[ \-]by[ :]|cc[ :])/i) {
|
||||
$signed = 1;
|
||||
print "<span class=\"signoff\">" . esc_html($line) . "</span><br/>\n";
|
||||
} else {
|
||||
$signed = 0;
|
||||
print format_log_line_html($line) . "<br/>\n";
|
||||
}
|
||||
}
|
||||
git_print_log($co{'comment'});
|
||||
print "</div>\n";
|
||||
|
||||
git_difftree_body(\@difftree, $parent);
|
||||
@@ -2290,7 +2324,7 @@ sub git_blobdiff {
|
||||
git_header_html();
|
||||
if (defined $hash_base && (my %co = parse_commit($hash_base))) {
|
||||
my $formats_nav =
|
||||
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blobdiff_plain;h=$hash;hp=$hash_parent")}, "plain");
|
||||
$cgi->a({-href => href(action=>"blobdiff_plain", hash=>$hash, hash_parent=>$hash_parent)}, "plain");
|
||||
git_print_page_nav('','', $hash_base,$co{'tree'},$hash_base, $formats_nav);
|
||||
git_print_header_div('commit', esc_html($co{'title'}), $hash_base);
|
||||
} else {
|
||||
@@ -2301,9 +2335,9 @@ sub git_blobdiff {
|
||||
git_print_page_path($file_name, "blob");
|
||||
print "<div class=\"page_body\">\n" .
|
||||
"<div class=\"diff_info\">blob:" .
|
||||
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blob;h=$hash_parent;hb=$hash_base;f=$file_name")}, $hash_parent) .
|
||||
$cgi->a({-href => href(action=>"blob", hash=>$hash_parent, hash_base=>$hash_base, file_name=>($file_parent || $file_name))}, $hash_parent) .
|
||||
" -> blob:" .
|
||||
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blob;h=$hash;hb=$hash_base;f=$file_name")}, $hash) .
|
||||
$cgi->a({-href => href(action=>"blob", hash=>$hash, hash_base=>$hash_base, file_name=>$file_name)}, $hash) .
|
||||
"</div>\n";
|
||||
git_diff_print($hash_parent, $file_name || $hash_parent, $hash, $file_name || $hash);
|
||||
print "</div>";
|
||||
@@ -2338,34 +2372,12 @@ sub git_commitdiff {
|
||||
my $refs = git_get_references();
|
||||
my $ref = format_ref_marker($refs, $co{'id'});
|
||||
my $formats_nav =
|
||||
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commitdiff_plain;h=$hash;hp=$hash_parent")}, "plain");
|
||||
$cgi->a({-href => href(action=>"commitdiff_plain", hash=>$hash, hash_parent=>$hash_parent)}, "plain");
|
||||
git_header_html(undef, $expires);
|
||||
git_print_page_nav('commitdiff','', $hash,$co{'tree'},$hash, $formats_nav);
|
||||
git_print_header_div('commit', esc_html($co{'title'}) . $ref, $hash);
|
||||
print "<div class=\"page_body\">\n";
|
||||
my $comment = $co{'comment'};
|
||||
my $empty = 0;
|
||||
my $signed = 0;
|
||||
my @log = @$comment;
|
||||
# remove first and empty lines after that
|
||||
shift @log;
|
||||
while (defined $log[0] && $log[0] eq "") {
|
||||
shift @log;
|
||||
}
|
||||
foreach my $line (@log) {
|
||||
if ($line =~ m/^ *(signed[ \-]off[ \-]by[ :]|acked[ \-]by[ :]|cc[ :])/i) {
|
||||
next;
|
||||
}
|
||||
if ($line eq "") {
|
||||
if ($empty) {
|
||||
next;
|
||||
}
|
||||
$empty = 1;
|
||||
} else {
|
||||
$empty = 0;
|
||||
}
|
||||
print format_log_line_html($line) . "<br/>\n";
|
||||
}
|
||||
git_print_simplified_log($co{'comment'}, 1); # skip title
|
||||
print "<br/>\n";
|
||||
foreach my $line (@difftree) {
|
||||
# ':100644 100644 03b218260e99b78c6df0ed378e59ed9205ccc96d 3b93d5e7cc7f7dd4ebed13a5cc1a4ad976fc94d8 M ls-files.c'
|
||||
@@ -2381,22 +2393,22 @@ sub git_commitdiff {
|
||||
my $file = validate_input(unquote($6));
|
||||
if ($status eq "A") {
|
||||
print "<div class=\"diff_info\">" . file_type($to_mode) . ":" .
|
||||
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blob;h=$to_id;hb=$hash;f=$file")}, $to_id) . "(new)" .
|
||||
$cgi->a({-href => href(action=>"blob", hash=>$to_id, hash_base=>$hash, file_name=>$file)}, $to_id) . "(new)" .
|
||||
"</div>\n";
|
||||
git_diff_print(undef, "/dev/null", $to_id, "b/$file");
|
||||
} elsif ($status eq "D") {
|
||||
print "<div class=\"diff_info\">" . file_type($from_mode) . ":" .
|
||||
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blob;h=$from_id;hb=$hash_parent;f=$file")}, $from_id) . "(deleted)" .
|
||||
$cgi->a({-href => href(action=>"blob", hash=>$from_id, hash_base=>$hash_parent, file_name=>$file)}, $from_id) . "(deleted)" .
|
||||
"</div>\n";
|
||||
git_diff_print($from_id, "a/$file", undef, "/dev/null");
|
||||
} elsif ($status eq "M") {
|
||||
if ($from_id ne $to_id) {
|
||||
print "<div class=\"diff_info\">" .
|
||||
file_type($from_mode) . ":" .
|
||||
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blob;h=$from_id;hb=$hash_parent;f=$file")}, $from_id) .
|
||||
$cgi->a({-href => href(action=>"blob", hash=>$from_id, hash_base=>$hash_parent, file_name=>$file)}, $from_id) .
|
||||
" -> " .
|
||||
file_type($to_mode) . ":" .
|
||||
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blob;h=$to_id;hb=$hash;f=$file")}, $to_id);
|
||||
$cgi->a({-href => href(action=>"blob", hash=>$to_id, hash_base=>$hash, file_name=>$file)}, $to_id) .
|
||||
print "</div>\n";
|
||||
git_diff_print($from_id, "a/$file", $to_id, "b/$file");
|
||||
}
|
||||
@@ -2558,7 +2570,7 @@ sub git_search {
|
||||
print "<td title=\"$co{'age_string_age'}\"><i>$co{'age_string_date'}</i></td>\n" .
|
||||
"<td><i>" . esc_html(chop_str($co{'author_name'}, 15, 5)) . "</i></td>\n" .
|
||||
"<td>" .
|
||||
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commit;h=$co{'id'}"), -class => "list"}, "<b>" . esc_html(chop_str($co{'title'}, 50)) . "</b><br/>");
|
||||
$cgi->a({-href => href(action=>"commit", hash=>$co{'id'}) -class => "list"}, "<b>" . esc_html(chop_str($co{'title'}, 50)) . "</b><br/>");
|
||||
my $comment = $co{'comment'};
|
||||
foreach my $line (@$comment) {
|
||||
if ($line =~ m/^(.*)($searchtext)(.*)$/i) {
|
||||
@@ -2573,8 +2585,8 @@ sub git_search {
|
||||
}
|
||||
print "</td>\n" .
|
||||
"<td class=\"link\">" .
|
||||
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commit;h=$co{'id'}")}, "commit") .
|
||||
" | " . $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=tree;h=$co{'tree'};hb=$co{'id'}")}, "tree");
|
||||
$cgi->a({-href => href(action=>"commit", hash=>$co{'id'})}, "commit") .
|
||||
" | " . $cgi->a({-href => href(action=>"tree", hash=>$co{'tree'}, hash_base=>$co{'id'})}, "tree");
|
||||
print "</td>\n" .
|
||||
"</tr>\n";
|
||||
}
|
||||
@@ -2611,18 +2623,18 @@ sub git_search {
|
||||
print "<td title=\"$co{'age_string_age'}\"><i>$co{'age_string_date'}</i></td>\n" .
|
||||
"<td><i>" . esc_html(chop_str($co{'author_name'}, 15, 5)) . "</i></td>\n" .
|
||||
"<td>" .
|
||||
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commit;h=$co{'id'}"), -class => "list"}, "<b>" .
|
||||
$cgi->a({-href => href(action=>"commit", hash=>$co{'id'}), -class => "list"}, "<b>" .
|
||||
esc_html(chop_str($co{'title'}, 50)) . "</b><br/>");
|
||||
while (my $setref = shift @files) {
|
||||
my %set = %$setref;
|
||||
print $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blob;h=$set{'id'};hb=$co{'id'};f=$set{'file'}"), class => "list"},
|
||||
print $cgi->a({-href => href(action=>"blob", hash=>$set{'id'}, hash_base=>$co{'id'}, file_name=>$set{'file'}), class => "list"},
|
||||
"<span class=\"match\">" . esc_html($set{'file'}) . "</span>") .
|
||||
"<br/>\n";
|
||||
}
|
||||
print "</td>\n" .
|
||||
"<td class=\"link\">" .
|
||||
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commit;h=$co{'id'}")}, "commit") .
|
||||
" | " . $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=tree;h=$co{'tree'};hb=$co{'id'}")}, "tree");
|
||||
$cgi->a({-href => href(action=>"commit", hash=>$co{'id'})}, "commit") .
|
||||
" | " . $cgi->a({-href => href(action=>"tree", hash=>$co{'tree'}, hash_base=>$co{'id'})}, "tree");
|
||||
print "</td>\n" .
|
||||
"</tr>\n";
|
||||
}
|
||||
@@ -2655,7 +2667,7 @@ sub git_shortlog {
|
||||
my $next_link = '';
|
||||
if ($#revlist >= (100 * ($page+1)-1)) {
|
||||
$next_link =
|
||||
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=shortlog;h=$hash;pg=" . ($page+1)),
|
||||
$cgi->a({-href => href(action=>"shortlog", hash=>$hash, page=>$page+1),
|
||||
-title => "Alt-n"}, "next");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user