)]}'
{
  "commit": "ec7fc0b1a46c5a352532ea3f29c5663752fd8ac6",
  "tree": "540136a940dde0e0293f047f6f2ed2a26a21b805",
  "parents": [
    "4f366275189c06ec26c01ee5ace2f3831b2aa46a"
  ],
  "author": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Wed Nov 25 02:56:54 2009 -0800"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Thu Nov 26 19:02:24 2009 -0800"
  },
  "message": "builtin-apply.c: pay attention to -p\u003cn\u003e when determining the name\n\nThe patch structure has def_name component that is used to validate the\nsanity of a \"diff --git\" patch by checking pathnames that appear on the\npatch header lines for consistency.  The git_header_name() function is\nused to compute this out of \"diff --git a/... b/...\" line, but the code\nalways stripped one level of prefix (i.e. \"a/\" and \"b/\"), without paying\nattention to -p\u003cn\u003e option.  Code in find_name() function that parses other\nlines in the patch header (e.g. \"--- a/...\" and \"+++ b/...\" lines) however\ndid strip the correct number of leading paths prefixes, and the sanity\ncheck between these computed values failed.\n\nTeach git_header_name() to honor -p\u003cn\u003e option like find_name() function\ndoes.\n\nFound and reported by Steven J. Murdoch who also wrote tests.\n\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f667368d161609ea3c93fc6ebe2452b9cd0e557d",
      "old_mode": 33188,
      "old_path": "builtin-apply.c",
      "new_id": "36e2f9dda5c85c346e31f45afa6d28b107679970",
      "new_mode": 33188,
      "new_path": "builtin-apply.c"
    },
    {
      "type": "modify",
      "old_id": "8f6aea48d84621ae3b7304636452c724a4bbe5b6",
      "old_mode": 33261,
      "old_path": "t/t4128-apply-root.sh",
      "new_id": "6cc741a634b0352c54fe8e5f61f1e99543909b8c",
      "new_mode": 33261,
      "new_path": "t/t4128-apply-root.sh"
    }
  ]
}
