)]}'
{
  "commit": "58bd77b66a83e7d8bcbc4e756ab997416d246be2",
  "tree": "bc6c723f8dfb04ab9410c40c2ae1bb6e1fb4ffcc",
  "parents": [
    "468165c1d8a442994a825f3684528361727cd8c0"
  ],
  "author": {
    "name": "Nguyễn Thái Ngọc Duy",
    "email": "pclouds@gmail.com",
    "time": "Sat May 05 10:47:16 2018 +0200"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Sun May 06 18:49:32 2018 +0900"
  },
  "message": "pack-objects: validation and documentation about unreachable options\n\nThese options are added in [1] [2] [3]. All these depend on running\nrev-list internally which is normally true since they are always used\nwith \"--all --objects\" which implies --revs. But let\u0027s keep this\ndependency explicit.\n\nWhile at there, add documentation for them. These are mostly used\ninternally by git-repack. But it\u0027s still good to not chase down the\nright commit message to know how they work.\n\n[1] ca11b212eb (let pack-objects do the writing of unreachable objects\n    as loose objects - 2008-05-14)\n[2] 08cdfb1337 (pack-objects --keep-unreachable - 2007-09-16)\n[3] e26a8c4721 (repack: extend --keep-unreachable to loose objects -\n    2016-06-13)\n\nSigned-off-by: Nguyễn Thái Ngọc Duy \u003cpclouds@gmail.com\u003e\nReviewed-by: Jeff King \u003cpeff@peff.net\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "81bc490ac52eb9414015979d8c244ce063c838b5",
      "old_mode": 33188,
      "old_path": "Documentation/git-pack-objects.txt",
      "new_id": "44245e5815e7b6bf8b2b090a1ec2832dd28aa215",
      "new_mode": 33188,
      "new_path": "Documentation/git-pack-objects.txt"
    },
    {
      "type": "modify",
      "old_id": "e9d3cfb9e33a6b874751ac6acc5aac2361d4a58d",
      "old_mode": 33188,
      "old_path": "builtin/pack-objects.c",
      "new_id": "b0f3e462f377b590341ef05715e36b8e7ff788b7",
      "new_mode": 33188,
      "new_path": "builtin/pack-objects.c"
    }
  ]
}
