)]}'
{
  "commit": "297c09eabb1e8b44230bca86fc7fd344175e0be7",
  "tree": "6dedcf0dab168a7f0720312d97c8ec4c635e8c5d",
  "parents": [
    "84675fa2717e08b39bf810eb9a439068ac915dfb"
  ],
  "author": {
    "name": "Karthik Nayak",
    "email": "karthik.188@gmail.com",
    "time": "Mon Dec 16 17:44:32 2024 +0100"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Mon Dec 16 09:45:34 2024 -0800"
  },
  "message": "refs: allow multiple reflog entries for the same refname\n\nThe reference transaction only allows a single update for a given\nreference to avoid conflicts. This, however, isn\u0027t an issue for reflogs.\nThere are no conflicts to be resolved in reflogs and when migrating\nreflogs between backends we\u0027d have multiple reflog entries for the same\nrefname.\n\nSo allow multiple reflog updates within a single transaction. Also the\nreflog creation logic isn\u0027t exposed to the end user. While this might\nchange in the future, currently, this reduces the scope of issues to\nthink about.\n\nIn the reftable backend, the writer sorts all updates based on the\nupdate_index before writing to the block. When there are multiple\nreflogs for a given refname, it is essential that the order of the\nreflogs is maintained. So add the `index` value to the `update_index`.\nThe `index` field is only set when multiple reflog entries for a given\nrefname are added and as such in most scenarios the old behavior\nremains.\n\nThis is required to add reflog migration support to `git refs migrate`.\n\nSigned-off-by: Karthik Nayak \u003ckarthik.188@gmail.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c11213f52065bcf2fa7612df8f9500692ee2d02c",
      "old_mode": 33188,
      "old_path": "refs/files-backend.c",
      "new_id": "8953d1c6d37b13b0db701888b3db92fd87a68aaa",
      "new_mode": 33188,
      "new_path": "refs/files-backend.c"
    },
    {
      "type": "modify",
      "old_id": "b2e3ba877de9e59fea5a4d066eb13e60ef22a32b",
      "old_mode": 33188,
      "old_path": "refs/reftable-backend.c",
      "new_id": "bec5962debea7b62572d08f6fa8fd38ab4cd8af6",
      "new_mode": 33188,
      "new_path": "refs/reftable-backend.c"
    }
  ]
}
