about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2014-08-28 04:57:30 +0000
committerEric Wong <e@80x24.org>2014-08-28 04:59:11 +0000
commitae2891b12c078682e52c1c2d60482453e0e10095 (patch)
tree47c132928ee86cae3ce69c172324a6d9e994712d /lib
parente3884bc14d2540192ec065a8b082fc9d0f68f343 (diff)
downloadpublic-inbox-ae2891b12c078682e52c1c2d60482453e0e10095.tar.gz
Patches are usually better viewed standalone and are difficult
to judge when nested.  So save precious vertical space in our
message index.
Diffstat (limited to 'lib')
-rw-r--r--lib/PublicInbox/View.pm9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index 27943391..23cb369b 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -81,6 +81,7 @@ sub index_entry {
                 my ($part) = @_;
                 return if $part->subparts; # walk_parts already recurses
                 my $enc = enc_for($part->content_type) || $enc_msg || $enc_utf8;
+                my $more = '';
 
                 if ($part_nr > 0) {
                         my $fn = $part->filename;
@@ -96,13 +97,19 @@ sub index_entry {
                 # Drop signatures
                 $s =~ s/\n*-- \n.*\z//s;
 
+                # drop the remainder of git patches, they're usually better
+                # to review when the full message is viewed
+                if ($s =~ s/\n*---\n.*\z//s) {
+                        $more = "$pfx...\n";
+                }
+
                 # kill any trailing whitespace
                 $s =~ s/\s+\z//s;
 
                 # add prefix:
                 $s =~ s/^/$pfx/sgm;
 
-                $rv .= $s . "\n";
+                $rv .= $s . "\n$more";
                 ++$part_nr;
         });