From 784eaf272112bcfcd72257efb7bb796d34b4f922 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Thu, 3 Feb 2011 19:55:42 +0100 Subject: [PATCH] expand oneliner to proper script --- git-grep-footer | 43 ++++++++++++++++++++++++++++++++++--------- 1 file changed, 34 insertions(+), 9 deletions(-) diff --git a/git-grep-footer b/git-grep-footer index 026f5bc..1e60d4e 100755 --- a/git-grep-footer +++ b/git-grep-footer @@ -1,11 +1,36 @@ -#!/bin/sh -git log --pretty=%b%x00 "$@" | -perl -n0 -wMstrict -E ' +#!/usr/bin/perl -0 -CS +use 5.010; +use strict; +use warnings; +use Data::Dump 'pp'; + +my $HEADERMATCH = qr/ [a-z]+ (?: (?:-\w+)+ | \ by ) /ix; + +while (readline) { + BLOCK: for (reverse split /\n\n/) { - my @headers = grep m{ - ^ (?: [a-z]+ (?: (?:-\w+)+ | \ by ) ) : \s* \S - }imx, split /\n/ or next; - say for @headers; - last; + my @headers; + + LINE: + for (split /\n/) { + next if not /\S/; + my @header = m{ + ^ + (? $HEADERMATCH) + : \s* + (? \S .+) + $ + }imx or next LINE; + + push @headers, \@header; + } + + next BLOCK if not @headers; + + for (@headers) { + say join ': ', @$_; + } + + last BLOCK; } -' +} -- 2.30.0