)]}'
{
  "commit": "5a7da2dca166fab74f4514697e26dd80e79933f5",
  "tree": "d00b416154fd3790e7cf23592f6d8815dec8eb4b",
  "parents": [
    "94702dd1ac27618b60198f7c8bceafaaaf7743e2"
  ],
  "author": {
    "name": "Aaron Schrab",
    "email": "aaron@schrab.com",
    "time": "Sun Jan 13 00:17:02 2013 -0500"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Mon Jan 14 09:25:40 2013 -0800"
  },
  "message": "hooks: Add function to check if a hook exists\n\nCreate find_hook() function to determine if a given hook exists and is\nexecutable.  If it is, the path to the script will be returned,\notherwise NULL is returned.\n\nThis encapsulates the tests that are used to check for the existence of\na hook in one place, making it easier to modify those checks if that is\nfound to be necessary.  This also makes it simple for places that can\nuse a hook to check if a hook exists before doing, possibly lengthy,\nsetup work which would be pointless if no such hook is present.\n\nThe returned value is left as a static value from get_pathname() rather\nthan a duplicate because it is anticipated that the return value will\neither be used as a boolean, immediately added to an argv_array list\nwhich would result in it being duplicated at that point, or used to\nactually run the command without much intervening work.  Callers which\nneed to hold onto the returned value for a longer time are expected to\nduplicate the return value themselves.\n\nSigned-off-by: Aaron Schrab \u003caaron@schrab.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d6dd3df8b1e1f449e7781bdb033f5cfa11753436",
      "old_mode": 33188,
      "old_path": "builtin/commit.c",
      "new_id": "65d08d21f4469c64ff3881e589d21a86b8373134",
      "new_mode": 33188,
      "new_path": "builtin/commit.c"
    },
    {
      "type": "modify",
      "old_id": "ff781febcad92dfccd8a3d97d0414526ded36943",
      "old_mode": 33188,
      "old_path": "builtin/receive-pack.c",
      "new_id": "e8878de45c9474cddd5c713cd7a712bed15a515a",
      "new_mode": 33188,
      "new_path": "builtin/receive-pack.c"
    },
    {
      "type": "modify",
      "old_id": "04712191e8acfbf000c526a5b1b0a80541e8e174",
      "old_mode": 33188,
      "old_path": "run-command.c",
      "new_id": "12d4ddb552204ba010ac90f24429d81a74e78a4e",
      "new_mode": 33188,
      "new_path": "run-command.c"
    },
    {
      "type": "modify",
      "old_id": "850c638f19a2b6776c0311db28371b18438f207a",
      "old_mode": 33188,
      "old_path": "run-command.h",
      "new_id": "221ce331405933f6f097b7e2b51401b70097e4e2",
      "new_mode": 33188,
      "new_path": "run-command.h"
    }
  ]
}
