)]}'
{
  "commit": "485f5aeb94caa2f33a465f5460d2e18594080d8e",
  "tree": "2b57fc650a1777f32b27c072274f532239c497e6",
  "parents": [
    "e25440bad1c9158703daeb22de07d4663872b71d"
  ],
  "author": {
    "name": "Patrick Steinhardt",
    "email": "ps@pks.im",
    "time": "Fri Sep 11 15:27:28 2026 +0200"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Fri Sep 11 09:14:44 2026 -0700"
  },
  "message": "builtin/fsck: don\u0027t check alternates with \"--no-full\"\n\nAccording to git-fsck(1), the \"--full\" option behaves in the following\nway:\n\n  Check not just objects in GIT_OBJECT_DIRECTORY ($GIT_DIR/objects), but\n  also the ones found in alternate object pools listed in\n  GIT_ALTERNATE_OBJECT_DIRECTORIES or $GIT_DIR/objects/info/alternates,\n  and in packed Git archives found in $GIT_DIR/objects/pack and\n  corresponding pack subdirectories in alternate object pools.\n\nSo ultimately, it is supposed to control two things: (1) whether we only\ncheck the main object directory, and (2) whether we check packfiles.\n\nIn its current state though, the flag only controls whether we check\npackfiles or not, and if so we verify packfiles of all attached sources.\nBut we also have checks for loose objects in git-fsck(1), and here we\nunconditionally check them in all sources.\n\nThe flag is arguably conflating two unrelated concerns with one another,\nand it really should be split up into two flags: one that controls how\nthorough we want to check individual sources, and one that controls\nwhich sources we want to check in the first place. So ideally, we would\nhave:\n\n  - \"--include-alternates\": check all sources, not only the local one.\n\n  - \"--include-optimized-objects\": check not only loose objects, but\n    also those that have been packed. Note that we explicitly don\u0027t say\n    \"--include-packed-objects\" here to be more backend-agnostic.\n\n  - \"--full\": implies both of the above flags.\n\nThis feels out of scope for this series though. So for now, simply fix\nthe code by honoring locality of the sources for loose objects.\n\nSigned-off-by: Patrick Steinhardt \u003cps@pks.im\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5132ff0f15a3e99fc868c002d3f5fc9e3b353118",
      "old_mode": 33188,
      "old_path": "builtin/fsck.c",
      "new_id": "3f6056535fdd4fba31f6c5f633b31432fd3382b6",
      "new_mode": 33188,
      "new_path": "builtin/fsck.c"
    },
    {
      "type": "modify",
      "old_id": "77cd96de78eced0d67616e808d842f1453a4d691",
      "old_mode": 33261,
      "old_path": "t/t1450-fsck.sh",
      "new_id": "1b4074304cbdb6ae88b6ed10c4ca4afbb0b7db61",
      "new_mode": 33261,
      "new_path": "t/t1450-fsck.sh"
    }
  ]
}
