gitweb: Great subroutines renaming

Rename some of subroutines to better reflect what they do.
Some renames were not performed because subroutine name
reflects hash key.

Subroutines name guideline:
* git_ prefix for subroutines related to git commands,
  git repository, or to gitweb actions
* git_get_ prefix for inner subroutines calling git command
  or reading some file in the repository and returning some output
* parse_ prefix for subroutines parsing some text (or reading and
  parsing some text) into hash or list
* format_ prefix for subroutines formatting, post-processing
  or generating some HTML/text fragment
* _get_ infix for subroutines which return result
* _print_ infix for subroutines which print fragment of output
* _body suffix for subroutines which outputs main part (body)
  of related action (usually table)
* _nav suffix for subroutines related to navigation bars
* _div suffix for subroutines returning or printing div element
* subroutine names should not be based on how the result is obtained,
  as this might change easily

Renames performed:
- git_get_referencing => format_ref_marker
- git_get_paging_nav => format_paging_nav
- git_read_head => git_get_head_hash
- git_read_hash => git_get_hash_by_ref
- git_read_description => git_get_project_description
- git_read_projects => git_get_projects_list
- read_info_ref => git_get_references
- git_read_refs => git_get_refs_list
- date_str => parse_date
- git_read_tag => parse_tag
- git_read_commit => parse_commit
- git_blob_plain_mimetype => blob_mimetype
- git_page_nav => git_print_page_nav
- git_header_div => git_print_header_div

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Jakub Narebski 2006-08-14 02:05:47 +02:00 коммит произвёл Junio C Hamano
Родитель 460cccd3ba
Коммит 847e01fb00
1 изменённых файлов: 125 добавлений и 125 удалений

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

@ -362,7 +362,7 @@ sub format_log_line_html {
}
# format marker of refs pointing to given object
sub git_get_referencing {
sub format_ref_marker {
my ($refs, $id) = @_;
if (defined $refs->{$id}) {
@ -376,7 +376,7 @@ sub git_get_referencing {
## git utility subroutines, invoking git commands
# get HEAD ref of given project as hash
sub git_read_head {
sub git_get_head_hash {
my $project = shift;
my $oENV = $ENV{'GIT_DIR'};
my $retval = undef;
@ -445,7 +445,7 @@ sub git_get_hash_by_path {
## git utility functions, directly accessing git repository
# assumes that PATH is not symref
sub git_read_hash {
sub git_get_hash_by_ref {
my $path = shift;
open my $fd, "$projectroot/$path" or return undef;
@ -457,7 +457,7 @@ sub git_read_hash {
}
}
sub git_read_description {
sub git_get_project_description {
my $path = shift;
open my $fd, "$projectroot/$path/description" or return undef;
@ -467,7 +467,7 @@ sub git_read_description {
return $descr;
}
sub git_read_projects {
sub git_get_projects_list {
my @list;
if (-d $projects_list) {
@ -511,7 +511,7 @@ sub git_read_projects {
return @list;
}
sub read_info_ref {
sub git_get_references {
my $type = shift || "";
my %refs;
# 5dc01c595e6c6ec9ccda4f6f69c131c0dd945f8c refs/tags/v2.6.11
@ -536,7 +536,7 @@ sub read_info_ref {
## ----------------------------------------------------------------------
## parse to hash functions
sub date_str {
sub parse_date {
my $epoch = shift;
my $tz = shift || "-0000";
@ -561,7 +561,7 @@ sub date_str {
return %date;
}
sub git_read_tag {
sub parse_tag {
my $tag_id = shift;
my %tag;
my @comment;
@ -596,7 +596,7 @@ sub git_read_tag {
return %tag
}
sub git_read_commit {
sub parse_commit {
my $commit_id = shift;
my $commit_text = shift;
@ -693,7 +693,7 @@ sub git_read_commit {
## ......................................................................
## parse to array of hashes functions
sub git_read_refs {
sub git_get_refs_list {
my $ref_dir = shift;
my @reflist;
@ -707,7 +707,7 @@ sub git_read_refs {
}, "$projectroot/$project/$ref_dir");
foreach my $ref_file (@refs) {
my $ref_id = git_read_hash("$project/$ref_dir/$ref_file");
my $ref_id = git_get_hash_by_ref("$project/$ref_dir/$ref_file");
my $type = git_get_type($ref_id) || next;
my %ref_item;
my %co;
@ -716,10 +716,10 @@ sub git_read_refs {
$ref_item{'epoch'} = 0;
$ref_item{'age'} = "unknown";
if ($type eq "tag") {
my %tag = git_read_tag($ref_id);
my %tag = parse_tag($ref_id);
$ref_item{'comment'} = $tag{'comment'};
if ($tag{'type'} eq "commit") {
%co = git_read_commit($tag{'object'});
%co = parse_commit($tag{'object'});
$ref_item{'epoch'} = $co{'committer_epoch'};
$ref_item{'age'} = $co{'age_string'};
} elsif (defined($tag{'epoch'})) {
@ -731,7 +731,7 @@ sub git_read_refs {
$ref_item{'name'} = $tag{'name'};
$ref_item{'refid'} = $tag{'object'};
} elsif ($type eq "commit"){
%co = git_read_commit($ref_id);
%co = parse_commit($ref_id);
$ref_item{'reftype'} = "commit";
$ref_item{'name'} = $ref_file;
$ref_item{'title'} = $co{'title'};
@ -806,7 +806,7 @@ sub mimetype_guess {
return $mime;
}
sub git_blob_plain_mimetype {
sub blob_mimetype {
my $fd = shift;
my $filename = shift;
@ -925,7 +925,7 @@ EOF
sub git_footer_html {
print "<div class=\"page_footer\">\n";
if (defined $project) {
my $descr = git_read_description($project);
my $descr = git_get_project_description($project);
if (defined $descr) {
print "<div class=\"page_footer_text\">" . esc_html($descr) . "</div>\n";
}
@ -955,7 +955,7 @@ sub die_error {
## ----------------------------------------------------------------------
## functions printing or outputting HTML: navigation
sub git_page_nav {
sub git_print_page_nav {
my ($current, $suppress, $head, $treehead, $treebase, $extra) = @_;
$extra = '' if !defined $extra; # pager or formats
@ -989,7 +989,7 @@ sub git_page_nav {
"</div>\n";
}
sub git_get_paging_nav {
sub format_paging_nav {
my ($action, $hash, $head, $page, $nrevs) = @_;
my $paging_nav;
@ -1022,7 +1022,7 @@ sub git_get_paging_nav {
## ......................................................................
## functions printing or outputting HTML: div
sub git_header_div {
sub git_print_header_div {
my ($action, $title, $hash, $hash_base) = @_;
my $rest = '';
@ -1062,9 +1062,9 @@ sub git_shortlog_body {
my $alternate = 0;
for (my $i = $from; $i <= $to; $i++) {
my $commit = $revlist->[$i];
#my $ref = defined $refs ? git_get_referencing($refs, $commit) : '';
my $ref = git_get_referencing($refs, $commit);
my %co = git_read_commit($commit);
#my $ref = defined $refs ? format_ref_marker($refs, $commit) : '';
my $ref = format_ref_marker($refs, $commit);
my %co = parse_commit($commit);
if ($alternate) {
print "<tr class=\"dark\">\n";
} else {
@ -1282,24 +1282,24 @@ sub git_project_list {
die_error(undef, "Unknown order parameter");
}
my @list = git_read_projects();
my @list = git_get_projects_list();
my @projects;
if (!@list) {
die_error(undef, "No projects found");
}
foreach my $pr (@list) {
my $head = git_read_head($pr->{'path'});
my $head = git_get_head_hash($pr->{'path'});
if (!defined $head) {
next;
}
$ENV{'GIT_DIR'} = "$projectroot/$pr->{'path'}";
my %co = git_read_commit($head);
my %co = parse_commit($head);
if (!%co) {
next;
}
$pr->{'commit'} = \%co;
if (!defined $pr->{'descr'}) {
my $descr = git_read_description($pr->{'path'}) || "";
my $descr = git_get_project_description($pr->{'path'}) || "";
$pr->{'descr'} = chop_str($descr, 25, 5);
}
if (!defined $pr->{'owner'}) {
@ -1383,10 +1383,10 @@ sub git_project_list {
}
sub git_summary {
my $descr = git_read_description($project) || "none";
my $head = git_read_head($project);
my %co = git_read_commit($head);
my %cd = date_str($co{'committer_epoch'}, $co{'committer_tz'});
my $descr = git_get_project_description($project) || "none";
my $head = git_get_head_hash($project);
my %co = parse_commit($head);
my %cd = parse_date($co{'committer_epoch'}, $co{'committer_tz'});
my $owner;
if (-f $projects_list) {
@ -1407,9 +1407,9 @@ sub git_summary {
$owner = get_file_owner("$projectroot/$project");
}
my $refs = read_info_ref();
my $refs = git_get_references();
git_header_html();
git_page_nav('summary','', $head);
git_print_page_nav('summary','', $head);
print "<div class=\"title\">&nbsp;</div>\n";
print "<table cellspacing=\"0\">\n" .
@ -1418,24 +1418,24 @@ sub git_summary {
"<tr><td>last change</td><td>$cd{'rfc2822'}</td></tr>\n" .
"</table>\n";
open my $fd, "-|", $GIT, "rev-list", "--max-count=17", git_read_head($project)
open my $fd, "-|", $GIT, "rev-list", "--max-count=17", git_get_head_hash($project)
or die_error(undef, "Open git-rev-list failed");
my @revlist = map { chomp; $_ } <$fd>;
close $fd;
git_header_div('shortlog');
git_print_header_div('shortlog');
git_shortlog_body(\@revlist, 0, 15, $refs,
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=shortlog")}, "..."));
my $taglist = git_read_refs("refs/tags");
my $taglist = git_get_refs_list("refs/tags");
if (defined @$taglist) {
git_header_div('tags');
git_print_header_div('tags');
git_tags_body($taglist, 0, 15,
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=tags")}, "..."));
}
my $headlist = git_read_refs("refs/heads");
my $headlist = git_get_refs_list("refs/heads");
if (defined @$headlist) {
git_header_div('heads');
git_print_header_div('heads');
git_heads_body($headlist, $head, 0, 15,
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=heads")}, "..."));
}
@ -1444,11 +1444,11 @@ sub git_summary {
}
sub git_tag {
my $head = git_read_head($project);
my $head = git_get_head_hash($project);
git_header_html();
git_page_nav('','', $head,undef,$head);
my %tag = git_read_tag($hash);
git_header_div('commit', esc_html($tag{'name'}), $hash);
git_print_page_nav('','', $head,undef,$head);
my %tag = parse_tag($hash);
git_print_header_div('commit', esc_html($tag{'name'}), $hash);
print "<div class=\"title_text\">\n" .
"<table cellspacing=\"0\">\n" .
"<tr>\n" .
@ -1457,7 +1457,7 @@ sub git_tag {
"<td class=\"link\">" . $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=$tag{'type'};h=$tag{'object'}")}, $tag{'type'}) . "</td>\n" .
"</tr>\n";
if (defined($tag{'author'})) {
my %ad = date_str($tag{'epoch'}, $tag{'tz'});
my %ad = parse_date($tag{'epoch'}, $tag{'tz'});
print "<tr><td>author</td><td>" . esc_html($tag{'author'}) . "</td></tr>\n";
print "<tr><td></td><td>" . $ad{'rfc2822'} . sprintf(" (%02d:%02d %s)", $ad{'hour_local'}, $ad{'minute_local'}, $ad{'tz_local'}) . "</td></tr>\n";
}
@ -1477,9 +1477,9 @@ sub git_blame2 {
my $ftype;
die_error(undef, "Permission denied") if (!git_get_project_config_bool ('blame'));
die_error('404 Not Found', "File name not defined") if (!$file_name);
$hash_base ||= git_read_head($project);
$hash_base ||= git_get_head_hash($project);
die_error(undef, "Couldn't find base commit") unless ($hash_base);
my %co = git_read_commit($hash_base)
my %co = parse_commit($hash_base)
or die_error(undef, "Reading commit failed");
if (!defined $hash) {
$hash = git_get_hash_by_path($hash_base, $file_name, "blob")
@ -1495,8 +1495,8 @@ sub git_blame2 {
my $formats_nav =
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blob;h=$hash;hb=$hash_base;f=$file_name")}, "blob") .
" | " . $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blame;f=$file_name")}, "head");
git_page_nav('','', $hash_base,$co{'tree'},$hash_base, $formats_nav);
git_header_div('commit', esc_html($co{'title'}), $hash_base);
git_print_page_nav('','', $hash_base,$co{'tree'},$hash_base, $formats_nav);
git_print_header_div('commit', esc_html($co{'title'}), $hash_base);
git_print_page_path($file_name, $ftype);
my @rev_color = (qw(light2 dark2));
my $num_colors = scalar(@rev_color);
@ -1535,9 +1535,9 @@ sub git_blame {
my $fd;
die_error('403 Permission denied', "Permission denied") if (!git_get_project_config_bool ('blame'));
die_error('404 Not Found', "File name not defined") if (!$file_name);
$hash_base ||= git_read_head($project);
$hash_base ||= git_get_head_hash($project);
die_error(undef, "Couldn't find base commit") unless ($hash_base);
my %co = git_read_commit($hash_base)
my %co = parse_commit($hash_base)
or die_error(undef, "Reading commit failed");
if (!defined $hash) {
$hash = git_get_hash_by_path($hash_base, $file_name, "blob")
@ -1549,8 +1549,8 @@ sub git_blame {
my $formats_nav =
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blob;h=$hash;hb=$hash_base;f=$file_name")}, "blob") .
" | " . $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blame;f=$file_name")}, "head");
git_page_nav('','', $hash_base,$co{'tree'},$hash_base, $formats_nav);
git_header_div('commit', esc_html($co{'title'}), $hash_base);
git_print_page_nav('','', $hash_base,$co{'tree'},$hash_base, $formats_nav);
git_print_header_div('commit', esc_html($co{'title'}), $hash_base);
git_print_page_path($file_name, 'blob');
print "<div class=\"page_body\">\n";
print <<HTML;
@ -1618,12 +1618,12 @@ HTML
}
sub git_tags {
my $head = git_read_head($project);
my $head = git_get_head_hash($project);
git_header_html();
git_page_nav('','', $head,undef,$head);
git_header_div('summary', $project);
git_print_page_nav('','', $head,undef,$head);
git_print_header_div('summary', $project);
my $taglist = git_read_refs("refs/tags");
my $taglist = git_get_refs_list("refs/tags");
if (defined @$taglist) {
git_tags_body($taglist);
}
@ -1631,12 +1631,12 @@ sub git_tags {
}
sub git_heads {
my $head = git_read_head($project);
my $head = git_get_head_hash($project);
git_header_html();
git_page_nav('','', $head,undef,$head);
git_header_div('summary', $project);
git_print_page_nav('','', $head,undef,$head);
git_print_header_div('summary', $project);
my $taglist = git_read_refs("refs/heads");
my $taglist = git_get_refs_list("refs/heads");
if (defined @$taglist) {
git_heads_body($taglist, $head);
}
@ -1646,7 +1646,7 @@ sub git_heads {
sub git_blob_plain {
if (!defined $hash) {
if (defined $file_name) {
my $base = $hash_base || git_read_head($project);
my $base = $hash_base || git_get_head_hash($project);
$hash = git_get_hash_by_path($base, $file_name, "blob")
or die_error(undef, "Error lookup file");
} else {
@ -1657,7 +1657,7 @@ sub git_blob_plain {
open my $fd, "-|", $GIT, "cat-file", "blob", $hash
or die_error(undef, "Couldn't cat $file_name, $hash");
$type ||= git_blob_plain_mimetype($fd, $file_name);
$type ||= blob_mimetype($fd, $file_name);
# save as filename, even when no $file_name is given
my $save_as = "$hash";
@ -1679,7 +1679,7 @@ sub git_blob_plain {
sub git_blob {
if (!defined $hash) {
if (defined $file_name) {
my $base = $hash_base || git_read_head($project);
my $base = $hash_base || git_get_head_hash($project);
$hash = git_get_hash_by_path($base, $file_name, "blob")
or die_error(undef, "Error lookup file");
} else {
@ -1689,14 +1689,14 @@ sub git_blob {
my $have_blame = git_get_project_config_bool ('blame');
open my $fd, "-|", $GIT, "cat-file", "blob", $hash
or die_error(undef, "Couldn't cat $file_name, $hash");
my $mimetype = git_blob_plain_mimetype($fd, $file_name);
my $mimetype = blob_mimetype($fd, $file_name);
if ($mimetype !~ m/^text\//) {
close $fd;
return git_blob_plain($mimetype);
}
git_header_html();
my $formats_nav = '';
if (defined $hash_base && (my %co = git_read_commit($hash_base))) {
if (defined $hash_base && (my %co = parse_commit($hash_base))) {
if (defined $file_name) {
if ($have_blame) {
$formats_nav .= $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blame;h=$hash;hb=$hash_base;f=$file_name")}, "blame") . " | ";
@ -1707,8 +1707,8 @@ sub git_blob {
} else {
$formats_nav .= $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blob_plain;h=$hash")}, "plain");
}
git_page_nav('','', $hash_base,$co{'tree'},$hash_base, $formats_nav);
git_header_div('commit', esc_html($co{'title'}), $hash_base);
git_print_page_nav('','', $hash_base,$co{'tree'},$hash_base, $formats_nav);
git_print_header_div('commit', esc_html($co{'title'}), $hash_base);
} else {
print "<div class=\"page_nav\">\n" .
"<br/><br/></div>\n" .
@ -1730,7 +1730,7 @@ sub git_blob {
sub git_tree {
if (!defined $hash) {
$hash = git_read_head($project);
$hash = git_get_head_hash($project);
if (defined $file_name) {
my $base = $hash_base || $hash;
$hash = git_get_hash_by_path($base, $file_name, "tree");
@ -1746,16 +1746,16 @@ sub git_tree {
close $fd or die_error(undef, "Reading tree failed");
$/ = "\n";
my $refs = read_info_ref();
my $ref = git_get_referencing($refs, $hash_base);
my $refs = git_get_references();
my $ref = format_ref_marker($refs, $hash_base);
git_header_html();
my $base_key = "";
my $base = "";
my $have_blame = git_get_project_config_bool ('blame');
if (defined $hash_base && (my %co = git_read_commit($hash_base))) {
if (defined $hash_base && (my %co = parse_commit($hash_base))) {
$base_key = ";hb=$hash_base";
git_page_nav('tree','', $hash_base);
git_header_div('commit', esc_html($co{'title'}) . $ref, $hash_base);
git_print_page_nav('tree','', $hash_base);
git_print_header_div('commit', esc_html($co{'title'}) . $ref, $hash_base);
} else {
print "<div class=\"page_nav\">\n";
print "<br/><br/></div>\n";
@ -1811,14 +1811,14 @@ sub git_tree {
}
sub git_log {
my $head = git_read_head($project);
my $head = git_get_head_hash($project);
if (!defined $hash) {
$hash = $head;
}
if (!defined $page) {
$page = 0;
}
my $refs = read_info_ref();
my $refs = git_get_references();
my $limit = sprintf("--max-count=%i", (100 * ($page+1)));
open my $fd, "-|", $GIT, "rev-list", $limit, $hash
@ -1826,24 +1826,24 @@ sub git_log {
my @revlist = map { chomp; $_ } <$fd>;
close $fd;
my $paging_nav = git_get_paging_nav('log', $hash, $head, $page, $#revlist);
my $paging_nav = format_paging_nav('log', $hash, $head, $page, $#revlist);
git_header_html();
git_page_nav('log','', $hash,undef,undef, $paging_nav);
git_print_page_nav('log','', $hash,undef,undef, $paging_nav);
if (!@revlist) {
my %co = git_read_commit($hash);
my %co = parse_commit($hash);
git_header_div('summary', $project);
git_print_header_div('summary', $project);
print "<div class=\"page_body\"> Last change $co{'age_string'}.<br/><br/></div>\n";
}
for (my $i = ($page * 100); $i <= $#revlist; $i++) {
my $commit = $revlist[$i];
my $ref = git_get_referencing($refs, $commit);
my %co = git_read_commit($commit);
my $ref = format_ref_marker($refs, $commit);
my %co = parse_commit($commit);
next if !%co;
my %ad = date_str($co{'author_epoch'});
git_header_div('commit',
my %ad = parse_date($co{'author_epoch'});
git_print_header_div('commit',
"<span class=\"age\">$co{'age_string'}</span>" .
esc_html($co{'title'}) . $ref,
$commit);
@ -1881,12 +1881,12 @@ sub git_log {
}
sub git_commit {
my %co = git_read_commit($hash);
my %co = parse_commit($hash);
if (!%co) {
die_error(undef, "Unknown commit object");
}
my %ad = date_str($co{'author_epoch'}, $co{'author_tz'});
my %cd = date_str($co{'committer_epoch'}, $co{'committer_tz'});
my %ad = parse_date($co{'author_epoch'}, $co{'author_tz'});
my %cd = parse_date($co{'committer_epoch'}, $co{'committer_tz'});
my $parent = $co{'parent'};
if (!defined $parent) {
@ -1902,22 +1902,22 @@ sub git_commit {
if ($hash =~ m/^[0-9a-fA-F]{40}$/) {
$expires = "+1d";
}
my $refs = read_info_ref();
my $ref = git_get_referencing($refs, $co{'id'});
my $refs = git_get_references();
my $ref = format_ref_marker($refs, $co{'id'});
my $formats_nav = '';
if (defined $file_name && defined $co{'parent'}) {
my $parent = $co{'parent'};
$formats_nav .= $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=blame;hb=$parent;f=$file_name")}, "blame");
}
git_header_html(undef, $expires);
git_page_nav('commit', defined $co{'parent'} ? '' : 'commitdiff',
git_print_page_nav('commit', defined $co{'parent'} ? '' : 'commitdiff',
$hash, $co{'tree'}, $hash,
$formats_nav);
if (defined $co{'parent'}) {
git_header_div('commitdiff', esc_html($co{'title'}) . $ref, $hash);
git_print_header_div('commitdiff', esc_html($co{'title'}) . $ref, $hash);
} else {
git_header_div('tree', esc_html($co{'title'}) . $ref, $co{'tree'}, $hash);
git_print_header_div('tree', esc_html($co{'title'}) . $ref, $co{'tree'}, $hash);
}
print "<div class=\"title_text\">\n" .
"<table cellspacing=\"0\">\n";
@ -2079,11 +2079,11 @@ sub git_commit {
sub git_blobdiff {
mkdir($git_temp, 0700);
git_header_html();
if (defined $hash_base && (my %co = git_read_commit($hash_base))) {
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");
git_page_nav('','', $hash_base,$co{'tree'},$hash_base, $formats_nav);
git_header_div('commit', esc_html($co{'title'}), $hash_base);
git_print_page_nav('','', $hash_base,$co{'tree'},$hash_base, $formats_nav);
git_print_header_div('commit', esc_html($co{'title'}), $hash_base);
} else {
print "<div class=\"page_nav\">\n" .
"<br/><br/></div>\n" .
@ -2109,7 +2109,7 @@ sub git_blobdiff_plain {
sub git_commitdiff {
mkdir($git_temp, 0700);
my %co = git_read_commit($hash);
my %co = parse_commit($hash);
if (!%co) {
die_error(undef, "Unknown commit object");
}
@ -2126,13 +2126,13 @@ sub git_commitdiff {
if ($hash =~ m/^[0-9a-fA-F]{40}$/) {
$expires = "+1d";
}
my $refs = read_info_ref();
my $ref = git_get_referencing($refs, $co{'id'});
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");
git_header_html(undef, $expires);
git_page_nav('commitdiff','', $hash,$co{'tree'},$hash, $formats_nav);
git_header_div('commit', esc_html($co{'title'}) . $ref, $hash);
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;
@ -2200,7 +2200,7 @@ sub git_commitdiff {
sub git_commitdiff_plain {
mkdir($git_temp, 0700);
my %co = git_read_commit($hash);
my %co = parse_commit($hash);
if (!%co) {
die_error(undef, "Unknown commit object");
}
@ -2214,7 +2214,7 @@ sub git_commitdiff_plain {
# try to figure out the next tag after this commit
my $tagname;
my $refs = read_info_ref("tags");
my $refs = git_get_references("tags");
open $fd, "-|", $GIT, "rev-list", "HEAD";
my @commits = map { chomp; $_ } <$fd>;
close $fd;
@ -2228,7 +2228,7 @@ sub git_commitdiff_plain {
}
print $cgi->header(-type => "text/plain", -charset => 'utf-8', '-content-disposition' => "inline; filename=\"git-$hash.patch\"");
my %ad = date_str($co{'author_epoch'}, $co{'author_tz'});
my %ad = parse_date($co{'author_epoch'}, $co{'author_tz'});
my $comment = $co{'comment'};
print "From: $co{'author'}\n" .
"Date: $ad{'rfc2822'} ($ad{'tz_local'})\n".
@ -2264,17 +2264,17 @@ sub git_commitdiff_plain {
sub git_history {
if (!defined $hash_base) {
$hash_base = git_read_head($project);
$hash_base = git_get_head_hash($project);
}
my $ftype;
my %co = git_read_commit($hash_base);
my %co = parse_commit($hash_base);
if (!%co) {
die_error(undef, "Unknown commit object");
}
my $refs = read_info_ref();
my $refs = git_get_references();
git_header_html();
git_page_nav('','', $hash_base,$co{'tree'},$hash_base);
git_header_div('commit', esc_html($co{'title'}), $hash_base);
git_print_page_nav('','', $hash_base,$co{'tree'},$hash_base);
git_print_header_div('commit', esc_html($co{'title'}), $hash_base);
if (!defined $hash && defined $file_name) {
$hash = git_get_hash_by_path($hash_base, $file_name);
}
@ -2290,11 +2290,11 @@ sub git_history {
while (my $line = <$fd>) {
if ($line =~ m/^([0-9a-fA-F]{40})/){
my $commit = $1;
my %co = git_read_commit($commit);
my %co = parse_commit($commit);
if (!%co) {
next;
}
my $ref = git_get_referencing($refs, $commit);
my $ref = format_ref_marker($refs, $commit);
if ($alternate) {
print "<tr class=\"dark\">\n";
} else {
@ -2330,9 +2330,9 @@ sub git_search {
die_error(undef, "Text field empty");
}
if (!defined $hash) {
$hash = git_read_head($project);
$hash = git_get_head_hash($project);
}
my %co = git_read_commit($hash);
my %co = parse_commit($hash);
if (!%co) {
die_error(undef, "Unknown commit object");
}
@ -2351,8 +2351,8 @@ sub git_search {
$pickaxe_search = 1;
}
git_header_html();
git_page_nav('','', $hash,$co{'tree'},$hash);
git_header_div('commit', esc_html($co{'title'}), $hash);
git_print_page_nav('','', $hash,$co{'tree'},$hash);
git_print_header_div('commit', esc_html($co{'title'}), $hash);
print "<table cellspacing=\"0\">\n";
my $alternate = 0;
@ -2370,7 +2370,7 @@ sub git_search {
next;
}
my @commit_lines = split "\n", $commit_text;
my %co = git_read_commit(undef, \@commit_lines);
my %co = parse_commit(undef, \@commit_lines);
if (!%co) {
next;
}
@ -2451,7 +2451,7 @@ sub git_search {
print "</td>\n" .
"</tr>\n";
}
%co = git_read_commit($1);
%co = parse_commit($1);
}
}
close $fd;
@ -2461,14 +2461,14 @@ sub git_search {
}
sub git_shortlog {
my $head = git_read_head($project);
my $head = git_get_head_hash($project);
if (!defined $hash) {
$hash = $head;
}
if (!defined $page) {
$page = 0;
}
my $refs = read_info_ref();
my $refs = git_get_references();
my $limit = sprintf("--max-count=%i", (100 * ($page+1)));
open my $fd, "-|", $GIT, "rev-list", $limit, $hash
@ -2476,7 +2476,7 @@ sub git_shortlog {
my @revlist = map { chomp; $_ } <$fd>;
close $fd;
my $paging_nav = git_get_paging_nav('shortlog', $hash, $head, $page, $#revlist);
my $paging_nav = format_paging_nav('shortlog', $hash, $head, $page, $#revlist);
my $next_link = '';
if ($#revlist >= (100 * ($page+1)-1)) {
$next_link =
@ -2486,8 +2486,8 @@ sub git_shortlog {
git_header_html();
git_page_nav('shortlog','', $hash,$hash,$hash, $paging_nav);
git_header_div('summary', $project);
git_print_page_nav('shortlog','', $hash,$hash,$hash, $paging_nav);
git_print_header_div('summary', $project);
git_shortlog_body(\@revlist, ($page * 100), $#revlist, $refs, $next_link);
@ -2499,7 +2499,7 @@ sub git_shortlog {
sub git_rss {
# http://www.notestips.com/80256B3A007F2692/1/NAMO5P9UPQ
open my $fd, "-|", $GIT, "rev-list", "--max-count=150", git_read_head($project)
open my $fd, "-|", $GIT, "rev-list", "--max-count=150", git_get_head_hash($project)
or die_error(undef, "Open git-rev-list failed");
my @revlist = map { chomp; $_ } <$fd>;
close $fd or die_error(undef, "Reading git-rev-list failed");
@ -2514,12 +2514,12 @@ sub git_rss {
for (my $i = 0; $i <= $#revlist; $i++) {
my $commit = $revlist[$i];
my %co = git_read_commit($commit);
my %co = parse_commit($commit);
# we read 150, we always show 30 and the ones more recent than 48 hours
if (($i >= 20) && ((time - $co{'committer_epoch'}) > 48*60*60)) {
last;
}
my %cd = date_str($co{'committer_epoch'});
my %cd = parse_date($co{'committer_epoch'});
open $fd, "-|", $GIT, "diff-tree", '-r', $co{'parent'}, $co{'id'} or next;
my @difftree = map { chomp; $_ } <$fd>;
close $fd or next;
@ -2556,7 +2556,7 @@ sub git_rss {
}
sub git_opml {
my @list = git_read_projects();
my @list = git_get_projects_list();
print $cgi->header(-type => 'text/xml', -charset => 'utf-8');
print "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n".
@ -2569,12 +2569,12 @@ sub git_opml {
foreach my $pr (@list) {
my %proj = %$pr;
my $head = git_read_head($proj{'path'});
my $head = git_get_head_hash($proj{'path'});
if (!defined $head) {
next;
}
$ENV{'GIT_DIR'} = "$projectroot/$proj{'path'}";
my %co = git_read_commit($head);
my %co = parse_commit($head);
if (!%co) {
next;
}