)]}'
{
  "commit": "fa2ab86d18f16ab5e6d2f2cd6e8cc00460bada17",
  "tree": "d5bc46205824dd87c8bf1ce959119a004d54d7ab",
  "parents": [
    "ded2c097bae67e00f8b4f3f777a516254207ca15"
  ],
  "author": {
    "name": "Xiaolong Ye",
    "email": "xiaolong.ye@intel.com",
    "time": "Tue Apr 26 15:51:22 2016 +0800"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Tue Apr 26 10:50:13 2016 -0700"
  },
  "message": "format-patch: add \u0027--base\u0027 option to record base tree info\n\nMaintainers or third party testers may want to know the exact base tree\nthe patch series applies to. Teach git format-patch a \u0027--base\u0027 option\nto record the base tree info and append it at the end of the first\nmessage (either the cover letter or the first patch in the series).\n\nThe base tree info consists of the \"base commit\", which is a well-known\ncommit that is part of the stable part of the project history everybody\nelse works off of, and zero or more \"prerequisite patches\", which are\nwell-known patches in flight that is not yet part of the \"base commit\"\nthat need to be applied on top of \"base commit\" in topological order\nbefore the patches can be applied.\n\nThe \"base commit\" is shown as \"base-commit: \" followed by the 40-hex of\nthe commit object name.  A \"prerequisite patch\" is shown as\n\"prerequisite-patch-id: \" followed by the 40-hex \"patch id\", which can\nbe obtained by passing the patch through the \"git patch-id --stable\"\ncommand.\n\nImagine that on top of the public commit P, you applied well-known\npatches X, Y and Z from somebody else, and then built your three-patch\nseries A, B, C, the history would be like:\n\n---P---X---Y---Z---A---B---C\n\nWith \"git format-patch --base\u003dP -3 C\" (or variants thereof, e.g. with\n\"--cover-letter\" of using \"Z..C\" instead of \"-3 C\" to specify the\nrange), the base tree information block is shown at the end of the\nfirst message the command outputs (either the first patch, or the\ncover letter), like this:\n\nbase-commit: P\nprerequisite-patch-id: X\nprerequisite-patch-id: Y\nprerequisite-patch-id: Z\n\nHelped-by: Junio C Hamano \u003cgitster@pobox.com\u003e\nHelped-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Xiaolong Ye \u003cxiaolong.ye@intel.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6821441d7d7beedac1f5b322248c3012d23bb103",
      "old_mode": 33188,
      "old_path": "Documentation/git-format-patch.txt",
      "new_id": "1d790f1af5f1ce719ff787f1df1a250323d9829d",
      "new_mode": 33188,
      "new_path": "Documentation/git-format-patch.txt"
    },
    {
      "type": "modify",
      "old_id": "0d738d6ddc0d6335e15392dd90e4118e2cb58b88",
      "old_mode": 33188,
      "old_path": "builtin/log.c",
      "new_id": "c9ee333932daf10bf0f03716369b0b5bcec95ebe",
      "new_mode": 33188,
      "new_path": "builtin/log.c"
    },
    {
      "type": "modify",
      "old_id": "3b99434e3e6f534efe44850fef3d1d77c04f5856",
      "old_mode": 33261,
      "old_path": "t/t4014-format-patch.sh",
      "new_id": "edf07eefd4d7f5508547a835955adfdb8fb59373",
      "new_mode": 33261,
      "new_path": "t/t4014-format-patch.sh"
    }
  ]
}
