• Junio C Hamano's avatar
    format-patch: generate MIME header as needed even when there is format.header · 6bf4f1b4
    Junio C Hamano authored
    Earlier, the callchain from pretty_print_commit() down to pp_title_line()
    had an unwarranted assumption that the presense of "after_subject"
    parameter, means the caller has already output MIME headers for
    attachments.  The parameter's primary purpose is to give extra header
    lines the caller wants to place after pp_title_line() generates the
    "Subject: " line.
    
    This assumption does not hold when the user used the format.header
    configuration variable to pass extra headers, and caused a message with
    non-ASCII character to lack proper MIME headers (e.g.  8-bit CTE header).
    The earlier logic also failed to suppress duplicated MIME headers when
    "format-patch -s --attach" is asked for and the signer's name demanded
    8-bit clean transport.
    
    This patch fixes the logic by introducing a separate need_8bit_cte
    parameter passed down the callchain.  This can have one of these values:
    
     -1 : we've already done MIME crap and we do not want to add extra header
          to say this is 8bit in pp_title_line();
    
      0 : we haven't done MIME and we have not seen anything that is 8bit yet;
    
      1 : we haven't done MIME and we have seen something that is 8bit;
          pp_title_line() must add MIME header.
    
    It adds two tests by Jeff King who independently diagnosed this issue.
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    6bf4f1b4
t4028-format-patch-mime-headers.sh 727 Bytes