]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Meta/add-by: add them even to a message without any sign-off
authorJunio C Hamano <gitster@pobox.com>
Tue, 22 Jan 2013 22:42:22 +0000 (14:42 -0800)
committerJunio C Hamano <gitster@pobox.com>
Tue, 22 Jan 2013 22:42:22 +0000 (14:42 -0800)
add-by

diff --git a/add-by b/add-by
index 3a4671845229b054ac9563463e8b2defb485df1d..4e7983e3a239680aed34f11f46db79706692d58d 100755 (executable)
--- a/add-by
+++ b/add-by
@@ -4,7 +4,10 @@ use warnings;
 use strict;
 use Getopt::Long;
 
-my $byline = undef;
+sub parsing () { 1; }
+sub waiting () { 2; }
+my $state = parsing;
+
 my @more;
 my $append;
 my $debug;
@@ -44,7 +47,7 @@ sub accumulate {
 }
 
 sub add_more_bylines {
-       if (@more && !defined $append) {
+       if (!defined $append) {
                my %names = map { $_->[1] => 1 } @more;
                my %map = ();
                my @append;
@@ -80,16 +83,17 @@ if ($check_only) {
 }
 
 while (<>) {
-      if (/^[-A-Za-z]+-by: /) {
-             $byline = 1;
-      } elsif ($byline) {
-             add_more_bylines();
-             $byline = undef;
-      } else {
-             $byline = undef;
-      }
-      print;
-}
-if ($byline) {
-       add_more_bylines();
+       if ($state == parsing) {
+               if (/^[-A-Za-z]+-by: /i || /^Cc: /i) {
+                       $state = waiting;
+               }
+       } elsif ($state == waiting) {
+               if (/^[-A-Za-z]+-by: /i || /^Cc: /i) {
+                       $state = waiting;
+               } else {
+                       add_more_bylines();
+                       $state = parsing;
+               }
+       }
+       print;
 }