)]}'
{
  "commit": "8e950dab86eafa8f4ea671fab593ca6210bc2e15",
  "tree": "f9b5e0e072ea0641f34ad6d97252fca962697e09",
  "parents": [
    "55b38a48e2a7ccfaaa7897a5fccb98327fa0e3c0"
  ],
  "author": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Thu Sep 13 12:40:39 2012 -0700"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Thu Sep 13 22:15:10 2012 -0700"
  },
  "message": "attr: failure to open a .gitattributes file is OK with ENOTDIR\n\nOften we consult an in-tree .gitattributes file that exists per\ndirectory.  Majority of directories do not usually have such a file,\nand it is perfectly fine if we cannot open it because there is no\nsuch file, but we do want to know when there is an I/O or permission\nerror.  Earlier, we made the codepath warn when we fail to open it\nfor reasons other than ENOENT for that reason.\n\nWe however sometimes have to attempt to open the .gitattributes file\nfrom a directory that does not exist in the commit that is currently\nchecked out.  \"git pack-objects\" wants to know if a path is marked\nwith \"-delta\" attributes, and \"git archive\" wants to know about\nexport-ignore and export-subst attributes.  Both commands may and do\nneed to ask the attributes system about paths in an arbitrary\ncommit.  \"git diff\", after removing an entire directory, may want to\nknow textconv on paths that used to be in that directory.\n\nMake sure we also ignore a failure to open per-directory attributes\nfile due to ENOTDIR.\n\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f12c83f80a0f03b2112c212e46c571ec4074abf3",
      "old_mode": 33188,
      "old_path": "attr.c",
      "new_id": "056d702f6e244e4188abc3c8dc4db647699ec4d1",
      "new_mode": 33188,
      "new_path": "attr.c"
    }
  ]
}
