about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2017-02-21 23:05:46 +0000
committerEric Wong <e@80x24.org>2017-02-21 23:05:46 +0000
commita49c12485985cce469c8b653ff7b76c85343b08d (patch)
tree706f7ff6b4eab086ee1212eff51155e92b331ec3 /lib
parent4af278501461f91844da1e2ffb82cf8571238d02 (diff)
downloadpublic-inbox-a49c12485985cce469c8b653ff7b76c85343b08d.tar.gz
Abbreviations can become ambiguous over time, and it seems other
tools are fine with displaying unabbreviated hashes for commits.
This should reduce workload for the search engines, too.
Diffstat (limited to 'lib')
-rw-r--r--lib/PublicInbox/RepoGitCommit.pm21
-rw-r--r--lib/PublicInbox/RepoGitDiffCommon.pm4
-rw-r--r--lib/PublicInbox/RepoGitLog.pm16
3 files changed, 21 insertions, 20 deletions
diff --git a/lib/PublicInbox/RepoGitCommit.pm b/lib/PublicInbox/RepoGitCommit.pm
index 2d4234cc..22a2742c 100644
--- a/lib/PublicInbox/RepoGitCommit.pm
+++ b/lib/PublicInbox/RepoGitCommit.pm
@@ -22,7 +22,7 @@ use PublicInbox::Qspawn;
 
 use constant {
         GIT_FMT => '--pretty=format:'.join('%n',
-                '%H', '%h', '%s', '%an <%ae>', '%ai', '%cn <%ce>', '%ci',
+                '%H', '%s', '%an <%ae>', '%ai', '%cn <%ce>', '%ci',
                 '%t', '%p', '%D', '%b%x00'),
         CC_EMPTY => " This is a merge, and the combined diff is empty.\n",
         CC_MERGE => " This is a merge, showing combined diff:\n\n"
@@ -30,8 +30,8 @@ use constant {
 
 sub commit_header {
         my ($self, $req) = @_;
-        my ($H, $h, $s, $au, $ad, $cu, $cd, $t, $p, $D, $rest) =
-                split("\n", $req->{dbuf}, 11);
+        my ($H, $s, $au, $ad, $cu, $cd, $t, $p, $D, $rest) =
+                split("\n", $req->{dbuf}, 10);
         $s = utf8_html($s);
         $au = utf8_html($au);
         $cu = utf8_html($cu);
@@ -39,8 +39,8 @@ sub commit_header {
 
         my $rel = $req->{relcmd};
         my $x = $self->html_start($req, $s) . "\n" .
-                qq(   commit $H (<a\nhref="${rel}patch/$h">patch</a>)\n) .
-                qq(     tree <a\nrel=nofollow\nhref="${rel}tree/$h">$t</a>);
+                qq(   commit $H (<a\nhref="${rel}patch/$H">patch</a>)\n) .
+                qq(     tree <a\nrel=nofollow\nhref="${rel}tree/$H">$t</a>);
 
         my $git = $req->{-repo}->{git};
         # extra show path information, if any
@@ -55,7 +55,7 @@ sub commit_header {
                         my $e = PublicInbox::Hval->utf8($_, join('/', @t));
                         $ep = $e->as_path;
                         my $eh = $e->as_html;
-                        $ep = "${rel}tree/$ep/$h";
+                        $ep = "${rel}tree/$ep/$H";
                         qq(<a\nrel=nofollow\nhref="$ep">$eh</a>);
                 } @$extra);
                 $path = "/$ep";
@@ -84,7 +84,7 @@ sub commit_header {
         # FIXME: deal with excessively long commit message bodies
         ($bx00, $req->{dbuf}) = split("\0", $rest, 2);
         $req->{anchors} = {};
-        $req->{h} = $h;
+        $req->{H} = $H;
         $req->{p} = \@p;
         $x .= utf8_html($bx00) . "<a\nid=D>---</a>\n";
 }
@@ -127,8 +127,8 @@ sub call_git_commit { # RepoBase calls this
 
         my $git = $req->{-repo}->{git};
         my $cmd = $git->cmd(qw(show -z --numstat -p --encoding=UTF-8
-                        --no-notes --no-color -c),
-                        $git->abbrev, GIT_FMT, $req->{-repo}->tip, '--');
+                        --no-notes --no-color -c --no-abbrev),
+                        GIT_FMT, $req->{-repo}->tip, '--');
         my $rdr = { 2 => $git->err_begin };
         my $qsp = PublicInbox::Qspawn->new($cmd, undef, $rdr);
         $env->{'qspawn.quiet'} = 1;
@@ -164,7 +164,8 @@ sub git_parent_line {
         my ($pfx, $p, $git, $rel) = @_;
         my $t = git_commit_title($git, $p);
         $t = defined $t ? utf8_html($t) : '';
-        $pfx . qq( <a\nid=P\nhref="${rel}commit/$p">$p</a> $t\n);
+        my $pad = ' ' x length($pfx);
+        $pfx . qq( <a\nid=P\nhref="${rel}commit/$p">$p</a>\n $pad$t\n);
 }
 
 # do not break anchor links if the combined diff doesn't show changes:
diff --git a/lib/PublicInbox/RepoGitDiffCommon.pm b/lib/PublicInbox/RepoGitDiffCommon.pm
index 67adca68..46e243ed 100644
--- a/lib/PublicInbox/RepoGitDiffCommon.pm
+++ b/lib/PublicInbox/RepoGitDiffCommon.pm
@@ -126,9 +126,9 @@ sub git_diff_cc_hunk {
         if ($n == 0) { # deleted file (does this happen with --cc?)
                 $rv .= " $last";
         } else {
-                my $h = $req->{h};
+                my $H = $req->{H};
                 $rv .= qq( <a\nrel=nofollow);
-                $rv .= qq(\nhref="${rel}tree/$h/$path#n$n">$last</a>);
+                $rv .= qq(\nhref="${rel}tree/$H/$path#n$n">$last</a>);
         }
         $rv .= " $at" . utf8_html($ctx);
 }
diff --git a/lib/PublicInbox/RepoGitLog.pm b/lib/PublicInbox/RepoGitLog.pm
index 4e0997e0..38097ed3 100644
--- a/lib/PublicInbox/RepoGitLog.pm
+++ b/lib/PublicInbox/RepoGitLog.pm
@@ -10,16 +10,17 @@ use base qw(PublicInbox::RepoBase);
 use PublicInbox::RepoGit qw(git_dec_links git_commit_title);
 use PublicInbox::Qspawn;
 # cannot rely on --date=format-local:... yet, it is too new (September 2015)
-use constant STATES => qw(h p D ai an s b);
+use constant STATES => qw(H p D ai an s b);
 use constant STATE_BODY => (scalar(STATES) - 1);
 my $LOG_FMT = '--pretty=tformat:'.  join('%n', map { "%$_" } STATES).'%x00';
 
 sub parent_links {
         if (@_ == 1) { # typical, single-parent commit
-                qq( / parent <a\nhref="#p$_[0]">$_[0]</a>);
+                qq(\n  parent <a\nhref="#p$_[0]">$_[0]</a>);
         } elsif (@_ > 0) { # merge commit
-                ' / parents ' .
-                        join(' ', map { qq(<a\nhref="#p$_">$_</a>) } @_);
+                "\n parents " .
+                        join("\n         ",
+                        map { qq(<a\nhref="#p$_">$_</a>) } @_);
         } else {
                 ''; # root commit
         }
@@ -30,7 +31,7 @@ sub flush_log_hdr ($$$) {
         my $lpfx = $req->{lpfx};
         my $seen = $req->{seen};
         $$dst .= '<hr /><pre>' if scalar keys %$seen;
-        my $id = $hdr->{h};
+        my $id = $hdr->{H};
         $seen->{$id} = 1;
         $$dst .= qq(<a\nid=p$id\n);
         $$dst .= qq(href="${lpfx}commit/$id"><b>);
@@ -129,9 +130,8 @@ sub call_git_log {
         my $env = $req->{env};
         my $git = $repo->{git};
         my $tip = $req->{-repo}->tip;
-        my $cmd = $git->cmd(qw(log --no-notes --no-color --abbrev-commit),
-                                $git->abbrev, $LOG_FMT, "-$max",
-                                $tip, '--');
+        my $cmd = $git->cmd(qw(log --no-notes --no-color --no-abbrev),
+                                $LOG_FMT, "-$max", $tip, '--');
         my $rdr = { 2 => $git->err_begin };
         my $title = "log: $repo->{repo}";
         if (defined $h) {