)]}'
{
  "commit": "7a9c81a38ddb3b382103ccd45345c4892053fdfc",
  "tree": "116965e728eff1c2b834387215c430296fb9c25a",
  "parents": [
    "6d05eb135f67d2d45a0fbd110a32d28b1e28c95d"
  ],
  "author": {
    "name": "Taylor Blau",
    "email": "me@ttaylorr.com",
    "time": "Wed Oct 15 18:29:16 2025 -0400"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Thu Oct 16 10:08:56 2025 -0700"
  },
  "message": "builtin/repack.c: introduce `struct write_pack_opts`\n\nThere are various functions within the \u0027repack\u0027 builtin which are\nresponsible for writing different kinds of packs. They include:\n\n - `static int write_filtered_pack(...)`\n - `static int write_cruft_pack(...)`\n\nas well as the function `finish_pack_objects_cmd()`, which is\nresponsible for finalizing a new pack write, and recording the checksum\nof its contents in the \u0027names\u0027 list.\n\nBoth of these `write_` functions have a few things in common. They both\ntake a pointer to the \u0027pack_objects_args\u0027 struct, as well as a pair of\ncharacter pointers for `destination` and `pack_prefix`.\n\nInstead of repeating those arguments for each function, let\u0027s extract an\noptions struct called \"write_pack_opts\" which has these three parameters\nas member fields. While we\u0027re at it, add fields for \"packdir,\" and\n\"packtmp\", both of which are static variables within the builtin, and\nneed to be read from within these two functions.\n\nThis will shorten the list of parameters that callers have to provide to\n`write_filtered_pack()`, avoid ambiguity when passing multiple variables\nof the same type, and provide a unified interface for the two functions\nmentioned earlier.\n\n(Note that \"pack_prefix\" can be derived on the fly as a function of\n\"packdir\" and \"packtmp\", making it unnecessary to store \"pack_prefix\"\nexplicitly. This commit ignores that potential cleanup in the name of\ndoing as few things as possible, but a later commit will make that\nchange.)\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": "2f49a18283535c4f0de4412eb421478d8a92d2f6",
      "old_mode": 33188,
      "old_path": "builtin/repack.c",
      "new_id": "45ce46989895dd2552bd47aa1ee1308c80a6b4fb",
      "new_mode": 33188,
      "new_path": "builtin/repack.c"
    },
    {
      "type": "modify",
      "old_id": "25a31ac0a05fe26f13fd68a38032f0276aefe065",
      "old_mode": 33188,
      "old_path": "repack.h",
      "new_id": "6ef503f62376c5eb413212b7f29708f0d36ef07b",
      "new_mode": 33188,
      "new_path": "repack.h"
    }
  ]
}
