)]}'
{
  "commit": "ab3ab1038dd38d2be62e3bacf39a3248929a7a98",
  "tree": "569657bfdc996d2b84ab4e3e1bbf493b6590d692",
  "parents": [
    "1a2842d1b1e91d5e068d231cf4df4e783bdf9205"
  ],
  "author": {
    "name": "Patrick Steinhardt",
    "email": "ps@pks.im",
    "time": "Fri Mar 20 08:07:38 2026 +0100"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Fri Mar 20 13:16:42 2026 -0700"
  },
  "message": "object-name: move logic to compute loose abbreviation length\n\nThe function `repo_find_unique_abbrev_r()` takes as input an object ID\nas well as a minimum object ID length and returns the minimum required\nprefix to make the object ID unique.\n\nThe logic that computes the abbreviation length for loose objects is\ndeeply tied to the loose object storage format. As such, it would fail\nin case a different object storage format was used.\n\nPrepare for making this logic generic to the backend by moving the logic\ninto a new `odb_source_loose_find_abbrev_len()` function that is part of\n\"object-file.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": "13732f324f5bccfe84d2575d3da0fd13921dcef7",
      "old_mode": 33188,
      "old_path": "object-file.c",
      "new_id": "4f77ce0982625d996b189d8e6a70e3013f32260d",
      "new_mode": 33188,
      "new_path": "object-file.c"
    },
    {
      "type": "modify",
      "old_id": "f11ad58f6c08745c84054a9af0a9b5e07699ec95",
      "old_mode": 33188,
      "old_path": "object-file.h",
      "new_id": "3686f182e4deb0b357e1a061c701578cef9ab016",
      "new_mode": 33188,
      "new_path": "object-file.h"
    },
    {
      "type": "modify",
      "old_id": "32e9c23e402ab9b1ef010b53714448462baa4bcd",
      "old_mode": 33188,
      "old_path": "object-name.c",
      "new_id": "4e21dbfa97bf1ced6bca8446feae70d991b9796a",
      "new_mode": 33188,
      "new_path": "object-name.c"
    }
  ]
}
