)]}'
{
  "commit": "8a3ee7c31469b5418a556a87cbac74509ded1cac",
  "tree": "8ddf10c9b138192e4369db735248cde6f91a11e7",
  "parents": [
    "dcc6e28f70574bf3756752f114b5119c5cb43375"
  ],
  "author": {
    "name": "Andreas Ericsson",
    "email": "ae@op5.se",
    "time": "Wed Jan 04 16:17:59 2006 +0000"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "junkio@cox.net",
    "time": "Tue Jan 24 17:27:33 2006 -0800"
  },
  "message": "update-hook: Major overhaul (handling tags, mainly).\n\nThis is the update hook we use in all our git-repos.\n\nIt has some improvements over the original version, namely:\n* Don\u0027t send every commit since dawn of time when adding a new tag.\n* When updating an annotated tag, just send the diffs since the last tag.\n* Add diffstat output for \u0027normal\u0027 commits (top) and annotated tags (bottom).\n* Block un-annotated tags in shared repos.\n\nI\u0027m a bit uncertain about that last one, but it demonstrates how to\ndisallow updates of a ref which we use, so I kept it.\n\nNote that git-describe is needed for the \"changes since last annotated tag\"\nthing to work.\n\nSigned-off-by: Andreas Ericsson \u003cae@op5.se\u003e\nSigned-off-by: Junio C Hamano \u003cjunkio@cox.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6db555f6580ca0831cf285a62ab7354211168203",
      "old_mode": 33188,
      "old_path": "templates/hooks--update",
      "new_id": "27cea174d135eb82f9e0229a0adf4f4993c60f2d",
      "new_mode": 33188,
      "new_path": "templates/hooks--update"
    }
  ]
}
