Re: [PATCH] add-interactive: fix bogus diff header line ordering
Jeff King <peff@peff.net> writes:
Show 24 quoted lines
> git-add--interactive.perl | 17 ++++++++++++++++-
> t/t2016-checkout-patch.sh | 8 ++++++++
> 2 files changed, 24 insertions(+), 1 deletions(-)
>
> diff --git a/git-add--interactive.perl b/git-add--interactive.perl
> index bfd1003..4173200 100755
> --- a/git-add--interactive.perl
> +++ b/git-add--interactive.perl
> @@ -979,6 +979,21 @@ sub coalesce_overlapping_hunks {
> return @out;
> }
>
> +sub reassemble_patch {
> + my $head = shift;
> + return (
> + # Include everything in the header except the beginning of the
> + # diff.
> + (grep { !/^[-+]{3}/ } @$head),
> + # Then include any other non-diff header lines from the hunks.
> + (grep { !/^[@ +-]/ } @_),
> + # Then begin the diff.
> + (grep { /^[-+]{3}/ } @$head),
> + # And then the hunk diff lines.
> + (grep { /^[@ +-]/ } @_)Hmm. Are you handling "\No newline at the end of the file" correctly?