)]}'
{
  "commit": "5176dd3d057ac5cae8321508febef61fa88537aa",
  "tree": "a8739abf64d740766e47a6ce9f6643793b240796",
  "parents": [
    "9e8558a31d896ca1508a8e6febb1e54b04188eef"
  ],
  "author": {
    "name": "Patrick Steinhardt",
    "email": "ps@pks.im",
    "time": "Fri Aug 21 08:30:06 2026 +0200"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Fri Aug 21 09:01:55 2026 -0700"
  },
  "message": "bundle: generate packfiles via the object database\n\ngit-bundle(1) spawns git-pack-objects(1) directly to generate the pack\ndata that gets appended to the bundle header. While bundles are not\npart of the wire protocol, they are a transfer mechanism for packs all\nthe same, so convert them to use the pack generation interface of the\nobject database as well.\n\nThis makes the pack generator the single spawn point for all pack\nstreams that leave the repository, leaving only local maintenance tasks\nlike git-repack(1) with direct knowledge of git-pack-objects(1).\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": "bfafadc984e2b69cc064be01c322c9d26ac351d1",
      "old_mode": 33188,
      "old_path": "builtin/bundle.c",
      "new_id": "5c6d8e1343c929a92da738074ef40690c2377bf8",
      "new_mode": 33188,
      "new_path": "builtin/bundle.c"
    },
    {
      "type": "modify",
      "old_id": "a9330bf0d32e5f8d74e83660b8c6a05ca8589829",
      "old_mode": 33188,
      "old_path": "bundle.c",
      "new_id": "f55a521b2a1f12e3570203304ce73c49af94c691",
      "new_mode": 33188,
      "new_path": "bundle.c"
    },
    {
      "type": "modify",
      "old_id": "d664b2f2d61e20649942908eb6b5fbd044dbf454",
      "old_mode": 33188,
      "old_path": "bundle.h",
      "new_id": "471da23d1bc9e4545396e4da3ead81c3cc04bd79",
      "new_mode": 33188,
      "new_path": "bundle.h"
    }
  ]
}
