)]}'
{
  "commit": "5a5ea141e7d5317cd049cb1e93b9127c1cec04bb",
  "tree": "6da54ee57cbeacf4ee7efe51ec8dcdbe0792bc26",
  "parents": [
    "dc8c8deaa6b5847733bd7df011a4c7b7d1a64e0a"
  ],
  "author": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Thu Jun 09 16:44:20 2022 -0700"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Thu Jun 09 16:45:07 2022 -0700"
  },
  "message": "revision: mark blobs needed for resolve-undo as reachable\n\nThe resolve-undo extension was added to the index in cfc5789a\n(resolve-undo: record resolved conflicts in a new index extension\nsection, 2009-12-25).  This extension records the blob object names\nand their modes of conflicted paths when the path gets resolved\n(e.g. with \"git add\"), to allow \"undoing\" the resolution with\n\"checkout -m path\".  These blob objects should be guarded from\ngarbage-collection while we have the resolve-undo information in the\nindex (otherwise unresolve operation may try to use a blob object\nthat has already been pruned away).\n\nBut the code called from mark_reachable_objects() for the index\nforgets to do so.  Teach add_index_objects_to_pending() helper to\nalso add objects referred to by the resolve-undo extension.\n\nAlso make matching changes to \"fsck\", which has code that is fairly\nsimilar to the reachability stuff, but have parallel implementations\nfor all these stuff, which may (or may not) someday want to be unified.\n\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9e54892311d5a698d51abb66ac73892c739732a1",
      "old_mode": 33188,
      "old_path": "builtin/fsck.c",
      "new_id": "4b17ccc3f4414ad66d315fe6308b67d7bdfb3427",
      "new_mode": 33188,
      "new_path": "builtin/fsck.c"
    },
    {
      "type": "modify",
      "old_id": "7d435f80480ef1b7684fdc43b51057d20e79966f",
      "old_mode": 33188,
      "old_path": "revision.c",
      "new_id": "cd78627b2002baccfc4dbb2c6943d05ad13ab145",
      "new_mode": 33188,
      "new_path": "revision.c"
    },
    {
      "type": "modify",
      "old_id": "f691e6d90329f1905854fa0f47950e213618ddd8",
      "old_mode": 33261,
      "old_path": "t/t2030-unresolve-info.sh",
      "new_id": "2d8c70b03a50e9ca082f7343d78dbcf6ad456159",
      "new_mode": 33261,
      "new_path": "t/t2030-unresolve-info.sh"
    }
  ]
}
