)]}'
{
  "commit": "d407e69787dbdfb1228ad88cc51aae04d7a3d2c1",
  "tree": "2262c4fc17b7d182f4b9ad602dc3be80d4068e76",
  "parents": [
    "554ef2522c32393a9d195e1711d7e4409c92c634",
    "810f8b203303f27543537d3ceadc90b065ed9c8f"
  ],
  "author": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Thu Jul 30 10:32:04 2026 -0700"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Thu Jul 30 10:32:05 2026 -0700"
  },
  "message": "Merge branch \u0027ps/odb-move-loose-object-writing\u0027\n\nThe logic to write loose objects has been refactored and moved from\n\u0027object-file.c\u0027 to the loose backend source file \u0027odb/source-loose.c\u0027,\nmaking the loose backend more self-contained.  This is achieved by\nfirst refactoring force_object_loose() to use generic ODB write\ninterfaces instead of loose-backend internals.\n\n* ps/odb-move-loose-object-writing:\n  object-file: move logic to write loose objects\n  object-file: move `force_object_loose()`\n  object-file: force objects loose via generic interface\n  object-file: fix memory leak in `force_object_loose()`\n  odb: support setting mtime when writing objects\n  odb: lift object existence check out of the \"loose\" backend\n  odb: compute object hash in `odb_write_object_ext()`\n  t/u-odb-inmemory: implement wrapper for writing objects\n  odb: compute compat object ID in `odb_write_object_ext()`\n",
  "tree_diff": []
}
