)]}'
{
  "commit": "d278970aef66e2cfcbcbab650c1fc1b6613b40db",
  "tree": "e2f63f093e0a7d82d0d8c70c66bf6e8201d8318c",
  "parents": [
    "fa0787a6cc1d8e7ef1e2e8398bdc13b987c61d69"
  ],
  "author": {
    "name": "Taylor Blau",
    "email": "me@ttaylorr.com",
    "time": "Wed Oct 15 18:29:33 2025 -0400"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Thu Oct 16 10:08:57 2025 -0700"
  },
  "message": "repack: move `pack_kept_objects` to `struct pack_objects_args`\n\nThe \"pack_kept_objects\" variable is defined as static to the repack\nbuiltin, but is inherently related to the pack-objects arguments that\nthe builtin uses when generating new packs.\n\nMove that field into the \"struct pack_objects_args\", and shuffle around\nwhere we append the corresponding command-line option when preparing a\npack-objects process. Specifically:\n\n - `write_cruft_pack()` always wants to pass \"--honor-pack-keep\", so\n   explicitly set the `pack_kept_objects` field to \"0\" when initializing\n   the `write_pack_opts` struct before calling `write_cruft_pack()`.\n\n - `write_filtered_pack()` no longer needs to handle writing the\n   command-line option \"--honor-pack-keep\" when preparing a pack-objects\n   process, since its call to `prepare_pack_objects()` will have already\n   taken care of that.\n\n   `write_filtered_pack()` also reads the `pack_kept_objects` field to\n   determine whether to write the existing kept packs with a leading \"^\"\n   character, so update that to read through the `po_args` pointer\n   instead.\n\n - `cmd_repack()` also no longer has to write the \"--honor-pack-keep\"\n   flag explicitly, since this is also handled via its call to\n   `prepare_pack_objects()`.\n\nSince there is a default value for \"pack_kept_objects\" that relies on\nwhether or not we are writing a bitmap (and not writing a MIDX), extract\na default initializer for `struct pack_objects_args` that keeps this\nconditional default behavior.\n\nSigned-off-by: Taylor Blau \u003cme@ttaylorr.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "71abcfa0b7a78a6ba5a36c0895cec3b521a97847",
      "old_mode": 33188,
      "old_path": "builtin/repack.c",
      "new_id": "3c6d7e91fdf4b08051ebdf9e4c3b1462756fa74b",
      "new_mode": 33188,
      "new_path": "builtin/repack.c"
    },
    {
      "type": "modify",
      "old_id": "f58f1fc7f0d3b73b7ee623a2215663060cc78474",
      "old_mode": 33188,
      "old_path": "repack-geometry.c",
      "new_id": "e2f9794d7debcea37fb5b5ac1bb47cf334db341d",
      "new_mode": 33188,
      "new_path": "repack-geometry.c"
    },
    {
      "type": "modify",
      "old_id": "2c478970f3c3decb5b7ecfdd3785004949f8835a",
      "old_mode": 33188,
      "old_path": "repack.c",
      "new_id": "2ab33c665aeec317256cf1f714cf52cc6b74f0fb",
      "new_mode": 33188,
      "new_path": "repack.c"
    },
    {
      "type": "modify",
      "old_id": "3244f601e2d7d0e379f12c91e337949ea6c25628",
      "old_mode": 33188,
      "old_path": "repack.h",
      "new_id": "0432379815aab90d4c3fe421a5881c0880deab5d",
      "new_mode": 33188,
      "new_path": "repack.h"
    }
  ]
}
