)]}'
{
  "commit": "42b9d3dc9dfa9e733cbd6402e665ac35fce0c216",
  "tree": "bf88b63ab631758af656d2256bf0bd62225d401d",
  "parents": [
    "a84a9d4acdae51f58529b2596c4bd935fe9af372"
  ],
  "author": {
    "name": "Patrick Steinhardt",
    "email": "ps@pks.im",
    "time": "Thu Jun 04 09:46:32 2026 +0200"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Fri Jun 05 21:49:39 2026 +0900"
  },
  "message": "setup: construct object database in `apply_repository_format()`\n\nWith the preceding changes we now always construct the repository\u0027s\nobject database before applying the repository format. Remove this\nduplication by constructing it in `apply_repository_format()` instead.\n\nNote that we create the object database _after_ having set up the\nrepository\u0027s hash algorithm, but _before_ setting the compat hash\nalgorithm. This is intentional:\n\n  - Constructing the object database may require knowledge of its\n    intended object format.\n\n  - Setting up the compatibility hash requires the object database to be\n    initialized already, because we immediately read the loose object\n    map.\n\nThe first point is sensible, the second maybe a little less so. Ideally,\nit should be the responsibility of the object database itself to\ninitialize any data structures required for the compatibility hash. But\nthis would require further changes, so this is kept as-is for now.\n\nFurther note that this requires us to move handling of the environment\nvariables GIT_OBJECT_DIRECTORY and GIT_ALTERNATE_OBJECT_DIRECTORIES into\nthe repository format, as well. This allows the caller more flexibility\naround whether or not those environment variables are being honored, as\nwe want to respect them in \"setup.c\", but not in \"repository.c\".\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": "61dfbb8be6cd1d06663a175120fee7a41471fec6",
      "old_mode": 33188,
      "old_path": "repository.c",
      "new_id": "187dd471c4e607910f093aec6cdb641f382d1229",
      "new_mode": 33188,
      "new_path": "repository.c"
    },
    {
      "type": "modify",
      "old_id": "4a8d6230b18529b4881a7b7a6d4a49b6ef3de7a7",
      "old_mode": 33188,
      "old_path": "setup.c",
      "new_id": "513fc88749212b50aaf51eba46b252b65bd45a40",
      "new_mode": 33188,
      "new_path": "setup.c"
    },
    {
      "type": "modify",
      "old_id": "efbb82fdbfc80bea143aadb731909cc79a24ba06",
      "old_mode": 33188,
      "old_path": "setup.h",
      "new_id": "19679fe78fb72f988c49d3cb07b0a5c36f90a687",
      "new_mode": 33188,
      "new_path": "setup.h"
    }
  ]
}
