)]}'
{
  "commit": "45b1324139d0428348a15ac09fd58f47f9435476",
  "tree": "885893f81013634f1e599efb8f505b14263b2294",
  "parents": [
    "623d2c71255977544086c9be76dfeff43cdbaf88"
  ],
  "author": {
    "name": "Patrick Steinhardt",
    "email": "ps@pks.im",
    "time": "Thu Oct 08 10:35:53 2026 +0200"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Thu Oct 08 07:31:18 2026 -0700"
  },
  "message": "odb/source-files: introduce `struct odb_files_dir`\n\nThe \"files\" object database source consists of two separate backends for\nstoring loose and packed objects. These are managed as somewhat separate\nentities even though they derive from the same object directory, whether\nit\u0027s the primary object directory or that one from an alternate.\n\nIn a subsequent commit we\u0027ll move the handling of alternates into the\n\"files\" backend completely so that it becomes another implementation\ndetail thereof. As part of this, we\u0027ll want to keep track of both of\nthese sub-sources as a single entity derived from their respective\nobject directory.\n\nPrepare for this change by introducing a new `struct odb_files_dir` that\nencapsulates them. For now, every \"files\" source has exactly one such\ndirectory. In a subsequent commit though, we\u0027ll make it a linked list of\ndirectories so that we can manage multiple such directories in a single\n\"files\" source.\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": "fbd919982c956a6508dc5b41382ae904ed845828",
      "old_mode": 33188,
      "old_path": "builtin/fast-import.c",
      "new_id": "0bf76b028be2af793e72a6813bfa06e3dfef63dc",
      "new_mode": 33188,
      "new_path": "builtin/fast-import.c"
    },
    {
      "type": "modify",
      "old_id": "6b2a87e2d393559ebb09240eb94e80838b67bc8b",
      "old_mode": 33188,
      "old_path": "builtin/index-pack.c",
      "new_id": "70860b8f27748448f108afd199b263875685be8a",
      "new_mode": 33188,
      "new_path": "builtin/index-pack.c"
    },
    {
      "type": "modify",
      "old_id": "753bd53a70fccc04cb7bec70f98b2612dbc2da59",
      "old_mode": 33188,
      "old_path": "builtin/multi-pack-index.c",
      "new_id": "a170ec80b99cffe31bdd448daa6fcf5d412e45ad",
      "new_mode": 33188,
      "new_path": "builtin/multi-pack-index.c"
    },
    {
      "type": "modify",
      "old_id": "af9390a46b9a69a72955941c2659bbcf0e4bf20e",
      "old_mode": 33188,
      "old_path": "builtin/pack-objects.c",
      "new_id": "070659b6ed97f28f7f0102fd1570373b962bfed2",
      "new_mode": 33188,
      "new_path": "builtin/pack-objects.c"
    },
    {
      "type": "modify",
      "old_id": "c4360382c1fce238c81b111c8807b49bac3e8572",
      "old_mode": 33188,
      "old_path": "builtin/repack.c",
      "new_id": "5d06872d7753572608540270307d139eac601770",
      "new_mode": 33188,
      "new_path": "builtin/repack.c"
    },
    {
      "type": "modify",
      "old_id": "80ebc6a5426bf710f17e77faddf9806eb8f85ff1",
      "old_mode": 33188,
      "old_path": "commit-graph.c",
      "new_id": "7cc486d14002c4842e7dc53534e55b2d8ce98299",
      "new_mode": 33188,
      "new_path": "commit-graph.c"
    },
    {
      "type": "modify",
      "old_id": "abafca84d654413ed610045c44b2022604f82805",
      "old_mode": 33188,
      "old_path": "http-walker.c",
      "new_id": "0a6c99f47190ba5d75ff612d9345b199f8767a28",
      "new_mode": 33188,
      "new_path": "http-walker.c"
    },
    {
      "type": "modify",
      "old_id": "c8fcfd7693e897b9bbad7b8423a6e483981498b0",
      "old_mode": 33188,
      "old_path": "http.c",
      "new_id": "fe6ec88a21b06ecdbc6eaca7a03910143542da25",
      "new_mode": 33188,
      "new_path": "http.c"
    },
    {
      "type": "modify",
      "old_id": "c159d29d2d2035a663eeb403d7a250b56466b727",
      "old_mode": 33188,
      "old_path": "loose.c",
      "new_id": "957bf83e6b09fd5e37cef6680864406b138c0de8",
      "new_mode": 33188,
      "new_path": "loose.c"
    },
    {
      "type": "modify",
      "old_id": "6d1c548e3dae8e207558971f641862cac763fbfe",
      "old_mode": 33188,
      "old_path": "midx.c",
      "new_id": "c0f82c41633bc0bafd8696d845577521cad14076",
      "new_mode": 33188,
      "new_path": "midx.c"
    },
    {
      "type": "modify",
      "old_id": "f2fc4cd9ab468e28d6d7db912a38026b50fa5b5d",
      "old_mode": 33188,
      "old_path": "odb/source-files.c",
      "new_id": "1f4cedaffaa3bc2b0762934018dd4a444723187f",
      "new_mode": 33188,
      "new_path": "odb/source-files.c"
    },
    {
      "type": "modify",
      "old_id": "9630b5f962e15f61ac9c36cd0dac8f21f133fc95",
      "old_mode": 33188,
      "old_path": "odb/source-files.h",
      "new_id": "7f465853b1120cc1e354ef205a4b1c795b94288b",
      "new_mode": 33188,
      "new_path": "odb/source-files.h"
    },
    {
      "type": "modify",
      "old_id": "3de8e9590cff4fc1ae6a4b093605d5a39b7efbba",
      "old_mode": 33188,
      "old_path": "pack-bitmap.c",
      "new_id": "52556b454344e557c23dea0ee83035b1ff8921c4",
      "new_mode": 33188,
      "new_path": "pack-bitmap.c"
    },
    {
      "type": "modify",
      "old_id": "4fa5fd67c8497fbb76a90ea7022902a10cb57421",
      "old_mode": 33188,
      "old_path": "packfile.c",
      "new_id": "93b69d7f502ae955a0727dc6cb3cce839dc2234b",
      "new_mode": 33188,
      "new_path": "packfile.c"
    },
    {
      "type": "modify",
      "old_id": "6d30d15a0053b318432687e9444db33974dfe6f0",
      "old_mode": 33188,
      "old_path": "packfile.h",
      "new_id": "fd1cf0ad6c5ae80959bc7748e8fc8133a8710020",
      "new_mode": 33188,
      "new_path": "packfile.h"
    },
    {
      "type": "modify",
      "old_id": "15b34129506d2a2fd65e3172a2e3a83348150f32",
      "old_mode": 33188,
      "old_path": "repack-geometry.c",
      "new_id": "b541c34af5f0949a4e62d765f81245cfd22dcd15",
      "new_mode": 33188,
      "new_path": "repack-geometry.c"
    },
    {
      "type": "modify",
      "old_id": "64c7f8d0f4237257a66379ca2e9fd6bf07968136",
      "old_mode": 33188,
      "old_path": "repack-midx.c",
      "new_id": "25140569bd9d2b2dbf74382969bb6e9efd3839e2",
      "new_mode": 33188,
      "new_path": "repack-midx.c"
    },
    {
      "type": "modify",
      "old_id": "d2aa58e13484fd7bba32d37e602979fb513cc3b2",
      "old_mode": 33188,
      "old_path": "repack.c",
      "new_id": "e20431690c96ba9e34685b089ff6a2da13e3c2d0",
      "new_mode": 33188,
      "new_path": "repack.c"
    },
    {
      "type": "modify",
      "old_id": "83b07c6236b167048fed413decb15d58caa767bc",
      "old_mode": 33188,
      "old_path": "t/helper/test-read-midx.c",
      "new_id": "3f4bafff6191dca910b7fd418af37fa8498513fc",
      "new_mode": 33188,
      "new_path": "t/helper/test-read-midx.c"
    }
  ]
}
