diff --git a/git-hooks/sanitize-commit b/git-hooks/sanitize-commit index 44a8c3b31c0f47970ca84f1acae7116ab07b59e8..b9aa736fb68926a535c264c4ed9ea90bcab77b60 100755 --- a/git-hooks/sanitize-commit +++ b/git-hooks/sanitize-commit @@ -91,7 +91,7 @@ sub complain() my $lineno = 0; my $iswip = defined($cfg{wip}); -my $revok = defined($cfg{revby}); +my $badrev = 0; my $badlog = defined($cfg{log}); my $spell_check = !defined($cfg{spell}); my $parents = 0; @@ -191,9 +191,12 @@ while (<MSG>) { &complain("2nd line of log message is not empty", "log"); } } else { - if (!$revok && /^Reviewed-by: *(pending|TBD)?$/i) { - &complain("Bogus or empty Reviewed-by header", "revby", 1); - $revok = 1; + if (!$badrev && /^Reviewed-by:/i) { + $badrev = 1; + } + if (/^\(cherry[- ]picked /) { + # Some bad footers are ok above cherry-pick lines. + $badrev = 0; } } } @@ -215,6 +218,9 @@ if ($badauthor) { if ($badcommitter) { &complain("Bogus committer email", "email", 1); } +if ($badrev && !defined($cfg{revby})) { + &complain("Bogus Reviewed-by footer", "revby", 1); +} { local $file = 'log message';