)]}'
{
  "commit": "8ca788035644f2aaf7a951272ae16a7bd319554c",
  "tree": "0a9029d417f819d361294a1f2710a1a57ad99089",
  "parents": [
    "34b383e7cd57692fd3996c1e8c9e738dab53ac48"
  ],
  "author": {
    "name": "René Scharfe",
    "email": "rene.scharfe@lsrfire.ath.cx",
    "time": "Sat Mar 13 18:37:50 2010 +0100"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Sat Mar 13 13:18:09 2010 -0800"
  },
  "message": "for_each_recent_reflog_ent(): use strbuf, fix offset handling\n\nAs Vladimir reported, \"git log -g refs/stash\" surprisingly showed the reflog\nof HEAD if the message in the reflog file was too long.  To fix this, convert\nfor_each_recent_reflog_ent() to use strbuf_getwholeline() instead of fgets(),\nfor safety and to avoid any size limits for reflog entries.\n\nAlso reverse the logic of the part of the function that only looks at file\ntails.  It used to close the file if fgets() succeeded.  The following\nfgets() call in the while loop was likely to fail in this case, too, so\npassing an offset to for_each_recent_reflog_ent() never worked.  Change it to\nerror out if strbuf_getwholeline() fails instead.\n\nReported-by: Vladimir Panteleev \u003cvladimir@thecybershadow.net\u003e\nSigned-off-by: Rene Scharfe \u003crene.scharfe@lsrfire.ath.cx\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f3fcbe023a3e6a8abae9bf04d10911056d12a4b0",
      "old_mode": 33188,
      "old_path": "refs.c",
      "new_id": "63e30d74a7eacee53682b20068e8e24a37840ccc",
      "new_mode": 33188,
      "new_path": "refs.c"
    }
  ]
}
