)]}'
{
  "commit": "3e5e360888316ed1a44da69bf134bb6ec70aee1b",
  "tree": "b1d04c153f051a909c4f57f522c3e4120735410e",
  "parents": [
    "bfb1b2b4ac5cfa99f7d2503b404d282714d84bdf"
  ],
  "author": {
    "name": "Patrick Steinhardt",
    "email": "ps@pks.im",
    "time": "Mon Nov 03 08:42:08 2025 +0100"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Mon Nov 03 12:18:48 2025 -0800"
  },
  "message": "object-file: refactor writing objects via a stream\n\nWe have two different ways to write an object into the database:\n\n  - We either provide the full buffer and write the object all at once.\n\n  - Or we provide an input stream that has a `read()` function so that\n    we can chunk the object.\n\nThe latter is especially used for large objects, where it may be too\nexpensive to hold the complete object in memory all at once.\n\nWhile we already have `odb_write_object()` at the ODB-layer, we don\u0027t\nhave an equivalent for streaming an object. Introduce a new function\n`odb_write_object_stream()` to address this gap so that callers don\u0027t\nhave to be aware of the inner workings of how to stream an object to\ndisk with a specific object source.\n\nRename `stream_loose_object()` to `odb_source_loose_write_stream()` to\nclarify its scope. This matches our modern best practices around how to\nname functions.\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": "ef79e43715d362d2907c23b5613d6fdaf9a96c80",
      "old_mode": 33188,
      "old_path": "builtin/unpack-objects.c",
      "new_id": "6fc64e9e4b8d5af9586a445198eb244afb870911",
      "new_mode": 33188,
      "new_path": "builtin/unpack-objects.c"
    },
    {
      "type": "modify",
      "old_id": "fdc644a4275373dc87733c71e2c28b75c899e1db",
      "old_mode": 33188,
      "old_path": "object-file.c",
      "new_id": "811c569ed36aa44a761e17c7b27a027f0f7c2f37",
      "new_mode": 33188,
      "new_path": "object-file.c"
    },
    {
      "type": "modify",
      "old_id": "36a60e15c40547001a07ef326a62a4c18a4da95d",
      "old_mode": 33188,
      "old_path": "object-file.h",
      "new_id": "eeffa67bbda63102e345c49e7bbf18871ed82123",
      "new_mode": 33188,
      "new_path": "object-file.h"
    },
    {
      "type": "modify",
      "old_id": "da44f1d63b43b297c01586bf14410f676f0c7066",
      "old_mode": 33188,
      "old_path": "odb.c",
      "new_id": "3ec21ef24e16bb6da22b58abfa50553318f98761",
      "new_mode": 33188,
      "new_path": "odb.c"
    },
    {
      "type": "modify",
      "old_id": "2653247e0cc871793ca44324312e8c93f9ba9a9d",
      "old_mode": 33188,
      "old_path": "odb.h",
      "new_id": "9bb28008b1d953774ee198828298cec364478201",
      "new_mode": 33188,
      "new_path": "odb.h"
    }
  ]
}
