remove unused variable
[git-grep-footer.git] / git-grep-footer
index a868319653246030ea7f83e7540b0e78a7ee2e48..fd2afe2d29f84ae3cc256edf35c99fd4e7eaae00 100755 (executable)
@@ -17,6 +17,7 @@ GetOptions(\my %opt,
        'grep|S=s',
        'min|min-count|unique|u:i',
        'max|max-count|show|n:i',
+       'hash|H!',
        'version|V'  => sub { Getopt::Long::VersionMessage() },
        'usage|h'    => sub { Getopt::Long::HelpMessage() },
        'help|man|?' => sub { Getopt::Long::HelpMessage(-verbose => 2) },
@@ -24,7 +25,7 @@ GetOptions(\my %opt,
 
 my $inputstream = $opt{''} ? \*ARGV : eval {
        require Git;
-       Git::command_output_pipe('log', '-z', '--pretty=format:%b', @ARGV);
+       Git::command_output_pipe('log', '-z', '--pretty=format:%h%n%b', @ARGV);
 } || die "Automatic git log failed: $@";
 
 local $| = 1;
@@ -35,8 +36,8 @@ my $HEADERMATCH = qr/ [a-z]+ (?: (?:-\w+)+ | \ by ) | cc | reference /ix;
 my (%headercount, @headercache);
 
 while (readline $inputstream) {
-       s/^([0-9a-f]{4,40})\n//m and
-       my $hash = $1;
+       s/^([0-9a-f]{4,40})\n//m;
+       my $hash = $opt{hash} ? $1 : undef;
 
        # strip commit seperator
        chomp;
@@ -47,8 +48,6 @@ while (readline $inputstream) {
        # if invalid, assume it's latin1
               $_ = decode(cp1252 => $_) if $@;
 
-       my %attr;
-
        BLOCK:
        for (reverse split /\n\n/) {
                my @headers;
@@ -234,6 +233,10 @@ Additional samples are optionally given upto the given maximum.
 Prefixes (unique) lines by the number of occurrences.
 Causes output to be buffered until all input has been read (obviously).
 
+=item -H, --hash
+
+Prefixes the SHA1 hash of the (or a) matching commit.
+
 =back
 
 =head1 EXAMPLES
@@ -257,7 +260,7 @@ Compare various capitalisations and (mis)spellings of signoffs.
 
 List the ten most frequently used attribute names.
 
-=item git-grep-footer -n2 -i -s -- --reverse
+=item git-grep-footer -n2 -i -s --hash -- --reverse
 
 The earliest two usages of each distinct identifier.