)]}'
{
  "commit": "6bf4f1b4c9d78b2061bd5f3bf77bb21112b755be",
  "tree": "2a5e51ddb5bed1e3149624a6d860d182fde9ec5d",
  "parents": [
    "a0b54e7b73415f92225ddf29fe655399bafd4938"
  ],
  "author": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Fri Mar 14 17:10:09 2008 -0700"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Sat Mar 15 00:06:06 2008 -0700"
  },
  "message": "format-patch: generate MIME header as needed even when there is format.header\n\nEarlier, the callchain from pretty_print_commit() down to pp_title_line()\nhad an unwarranted assumption that the presense of \"after_subject\"\nparameter, means the caller has already output MIME headers for\nattachments.  The parameter\u0027s primary purpose is to give extra header\nlines the caller wants to place after pp_title_line() generates the\n\"Subject: \" line.\n\nThis assumption does not hold when the user used the format.header\nconfiguration variable to pass extra headers, and caused a message with\nnon-ASCII character to lack proper MIME headers (e.g.  8-bit CTE header).\nThe earlier logic also failed to suppress duplicated MIME headers when\n\"format-patch -s --attach\" is asked for and the signer\u0027s name demanded\n8-bit clean transport.\n\nThis patch fixes the logic by introducing a separate need_8bit_cte\nparameter passed down the callchain.  This can have one of these values:\n\n -1 : we\u0027ve already done MIME crap and we do not want to add extra header\n      to say this is 8bit in pp_title_line();\n\n  0 : we haven\u0027t done MIME and we have not seen anything that is 8bit yet;\n\n  1 : we haven\u0027t done MIME and we have seen something that is 8bit;\n      pp_title_line() must add MIME header.\n\nIt adds two tests by Jeff King who independently diagnosed this issue.\n\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "10e2b5d4cfdc7ac129ead711421ccc51d2667f02",
      "old_mode": 33188,
      "old_path": "commit.h",
      "new_id": "000528a67b0f087793da2001d69993260bdaeb4a",
      "new_mode": 33188,
      "new_path": "commit.h"
    },
    {
      "type": "modify",
      "old_id": "1f3fcf16ad7a101eb9eab53da84bd2640f97ab00",
      "old_mode": 33188,
      "old_path": "log-tree.c",
      "new_id": "dd94f393a06a0c8a7fc6420af0b9487df47ec4a4",
      "new_mode": 33188,
      "new_path": "log-tree.c"
    },
    {
      "type": "modify",
      "old_id": "b987ff245b310a6693dc69ba8c71ef2915da7864",
      "old_mode": 33188,
      "old_path": "pretty.c",
      "new_id": "0963bb08c125c8fc0c4d8ee5e8ff293145678158",
      "new_mode": 33188,
      "new_path": "pretty.c"
    },
    {
      "type": "modify",
      "old_id": "67a70fadabbdcaca15832c86d76f1e194a923a75",
      "old_mode": 33261,
      "old_path": "t/t4021-format-patch-signer-mime.sh",
      "new_id": "ba43f185494630c50fc2a168df8dcd45c0b2421b",
      "new_mode": 33261,
      "new_path": "t/t4021-format-patch-signer-mime.sh"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "204ba673cb58f905f2f35ff5b83294b2a2943f48",
      "new_mode": 33261,
      "new_path": "t/t4028-format-patch-mime-headers.sh"
    }
  ]
}
