-LC_MESSAGES=C git fsck --no-dangling 2>&1 | \
- perl -ne 'print $1 if m/^error in commit d1a977e7f9637372750ac02a58e85c35ddd4ca54:.*invalid format - expected '\''committer' | \
- >$tmp/bad
+LC_MESSAGES=C git fsck --no-dangling >$tmp/gfo 2>&1 || test $? = 1
+
+perl -ne '
+ print $1, "\n" or die $! if
+ m/^error in commit (\w+):.*invalid format - expected '\''committer/;
+' <$tmp/gfo >$tmp/bad