Re: [PATCH] git-contacts: do not fail parsing of good diffs
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:59:57
larsbj@gullik.org (Lars Gullik Bjønnes) writes:
If a line in a patch starts with "--- " it will be deemed malformed unless it also contains the proper diff header format. This situation can happen with a valid patch if it has a line starting with "-- " and that line is removed. This patch just removes the check in git-contacts. Signed-off-by: Lars Gullik Bjønnes <redacted> ---
If the script wanted to be "more correct", it should be paying attention to the $len it already parses out of the hunk headers to make sure it does not mistake removal of a line that begins with "-- " as the beginning of a patch to a different path, but as the original does not seem to aim to be so careful anyway, this change should be OK, I would say. The patch was whitespace damaged, by the way. It was easy to hand tweak so there is no need to resend this particular patch, but if you are planning to send more patches, please check your MUA and tell it not to. Thanks.
quoted hunk
contrib/contacts/git-contacts | 2 -- 1 file changed, 2 deletions(-)diff --git a/contrib/contacts/git-contacts b/contrib/contacts/git-contacts index 428cc1a..dbe2abf 100755 --- a/contrib/contacts/git-contacts +++ b/contrib/contacts/git-contacts@@ -96,8 +96,6 @@ sub scan_patches { next unless $id; if (m{^--- (?:a/(.+)|/dev/null)$}) { $source = $1; - } elsif (/^--- /) { - die "Cannot parse hunk source: $_\n"; } elsif (/^@@ -(\d+)(?:,(\d+))?/ && $source) { my $len = defined($2) ? $2 : 1; push @{$sources->{$source}{$id}}, [$1, $len] if $len;-- 1.9.0