)]}'
{
  "commit": "4baf5dda9e30ddc472bec444af7a572e5d3cb467",
  "tree": "361c7d681fc476d8ad07b622e519a46d98136d08",
  "parents": [
    "5a2e04d2031b229a242d07e11e514220e71a0d33"
  ],
  "author": {
    "name": "Junio C Hamano",
    "email": "junkio@cox.net",
    "time": "Sat Oct 15 17:14:10 2005 -0700"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "junkio@cox.net",
    "time": "Sat Oct 15 17:14:10 2005 -0700"
  },
  "message": "Introduce notation \"ref^{type}\".\n\nExisting \"tagname^0\" notation means \"dereference tag zero or more\ntimes until you cannot dereference it anymore, and make sure it is a\ncommit -- otherwise barf\".  But tags do not necessarily reference\ncommit objects.\n\nThis commit introduces a bit more generalized notation, \"ref^{type}\".\nExisting \"ref^0\" is a shorthand for \"ref^{commit}\".  If the type\nis empty, it just dereferences tags until it hits a non-tag object.\n\nWith this, \"git-rev-parse --verify \u0027junio-gpg-pub^{}\u0027\" shows the blob\nobject name -- there is no need to manually read the tag object and\nfind out the object name anymore.\n\n\"git-rev-parse --verify \u0027HEAD^{tree}\u0027\" can be used to find out the\ntree object name of the HEAD commit.\n\nSigned-off-by: Junio C Hamano \u003cjunkio@cox.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f64755fbceea617c424b9b83999eeaa91bf76af1",
      "old_mode": 33188,
      "old_path": "sha1_name.c",
      "new_id": "d0896f8183d87df53d80c6e5e72ebdb5932c29a8",
      "new_mode": 33188,
      "new_path": "sha1_name.c"
    }
  ]
}
