fix typo in link parameter of git_commit
[gitweb.git] / gitweb.cgi
index 94063aaa13f863d46533f5937683da97b802a584..acf1b1ab96eeae9444dd4476e5543c73d5f3397b 100755 (executable)
@@ -478,7 +478,16 @@ sub git_read_commit {
        if (!defined $co{'tree'}) {
                return undef
        };
-       $co{'id'} = $commit_id;
+       if (!($commit_id =~ m/^[0-9a-fA-F]{40}$/)) {
+               # lookup hash by textual id
+               open my $fd, "-|", "$gitbin/git-rev-parse --verify $commit_id" or return;
+               my $hash_id = <$fd>;
+               close $fd or return;
+               chomp $hash_id;
+               $co{'id'} = $hash_id
+       } else {
+               $co{'id'} = $commit_id;
+       }
        $co{'parents'} = \@parents;
        $co{'parent'} = $parents[0];
        $co{'comment'} = \@commit_lines;
@@ -1630,7 +1639,7 @@ sub git_commit {
              "</tr>\n";
        print "<tr><td>committer</td><td>" . escapeHTML($co{'committer'}) . "</td></tr>\n";
        print "<tr><td></td><td> $cd{'rfc2822'}" . sprintf(" (%02d:%02d %s)", $cd{'hour_local'}, $cd{'minute_local'}, $cd{'tz_local'}) . "</td></tr>\n";
-       print "<tr><td>commit</td><td style=\"font-family:monospace\">$hash</td></tr>\n";
+       print "<tr><td>commit</td><td style=\"font-family:monospace\">$co{'id'}</td></tr>\n";
        print "<tr>" .
              "<td>tree</td>" .
              "<td style=\"font-family:monospace\">" .
@@ -1707,7 +1716,7 @@ sub git_commit {
                                $mode_chng = sprintf(" with mode: %04o", (oct $to_mode) & 0777);
                        }
                        print "<td>" .
-                             $cgi->a({-href => "$my_uri?p=$project;a=blob;h=$to_id;hp=$hash;f=$file", -class => "list"}, escapeHTML($file)) . "</td>\n" .
+                             $cgi->a({-href => "$my_uri?p=$project;a=blob;h=$to_id;hb=$hash;f=$file", -class => "list"}, escapeHTML($file)) . "</td>\n" .
                              "<td><span style=\"color: #008000;\">[new " . file_type($to_mode) . "$mode_chng]</span></td>\n" .
                              "<td class=\"link\">" . $cgi->a({-href => "$my_uri?p=$project;a=blob;h=$to_id;hb=$hash;f=$file"}, "blob") . "</td>\n";
                } elsif ($status eq "D") {