)]}'
{
  "commit": "ef7faa6350fc2ee4151584bd912dfd61606be98c",
  "tree": "62033e6aaaf24c9910370617c597e8a072fbbf3c",
  "parents": [
    "7d4fbc64ce234d2def89cca8f6ed65f684cddb24"
  ],
  "author": {
    "name": "Justin Tobler",
    "email": "jltobler@gmail.com",
    "time": "Wed Sep 23 17:03:15 2026 -0500"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Wed Sep 23 20:02:43 2026 -0700"
  },
  "message": "object-file: flush transaction packfile before migrating objects\n\nA \"files\" ODB transaction creates a temporary directory to stage newly\nwritten objects in when configured to batch fsync loose objects. Once\nthe temporary directory is created, it is configured as the primary ODB\nand all object are written to it accordingly. This also includes\npackfiles containing blobs that exceed `core.bigFileThreshold` written\nvia `odb_transaction_files_write_object_stream()`.\n\nIf a \"large\" blob packfile is written to the ODB transaction temporary\ndirectory after other loose objects, the ODB transaction fails to commit\nas a result of the temporary directory being migrated prior to the\npackfile being flushed. Fix this bug by always flushing the packfile\ntransaction before objects are migrated to the main ODB.\n\nSigned-off-by: Justin Tobler \u003cjltobler@gmail.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0f123b79fad123fb53f7a4fc7fbdfbdff475eb3b",
      "old_mode": 33188,
      "old_path": "object-file.c",
      "new_id": "210984f825326e5fa9e918f14d6863586309363b",
      "new_mode": 33188,
      "new_path": "object-file.c"
    },
    {
      "type": "modify",
      "old_id": "d295c265c75c0e92a52dca5a51c46a25cc265abd",
      "old_mode": 33261,
      "old_path": "t/t1050-large.sh",
      "new_id": "95233458b459a62e3039dbfc757702eafda70f62",
      "new_mode": 33261,
      "new_path": "t/t1050-large.sh"
    }
  ]
}
