)]}'
{
  "commit": "77887195c34339cb49a774ff3e4ef9ac346a21ac",
  "tree": "0d155b4677534e350765efcdcd4a99b06fabc84c",
  "parents": [
    "1ce5c305508f0b237424c0ea207f37f483736018"
  ],
  "author": {
    "name": "Rob Mohr",
    "email": "mohrr@google.com",
    "time": "Tue Jun 16 16:56:46 2026 -0700"
  },
  "committer": {
    "name": "CQ Bot Account",
    "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Jun 16 16:56:46 2026 -0700"
  },
  "message": "bazel_roll: Better handle trimming around rules\n\nThe code for extracting the center of a match used to trim a bunch of\nlines from the end, then recalculate the center and trim a bunch of\nstuff from the beginning. If many lines were removed from the end, then\nthe updated center could be on a different rule and the parsing would\nfail.\n\nChange-Id: I8eda8e7004a3ae28c048c0687177c0448b8dce38\nReviewed-on: https://pigweed-review.googlesource.com/c/infra/recipes/+/424032\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5a0ef38ed8cd0708aea9642be4fa88c724bd0b89",
      "old_mode": 33188,
      "old_path": "recipe_modules/bazel_roll/api.py",
      "new_id": "7b1e65667b3d71e273e82822f688bafbd432a634",
      "new_mode": 33188,
      "new_path": "recipe_modules/bazel_roll/api.py"
    },
    {
      "type": "modify",
      "old_id": "f6b155423a5119eec297e035bc1da81c16aa26fa",
      "old_mode": 33188,
      "old_path": "recipe_modules/bazel_roll/tests/cipd_package.expected/success.json",
      "new_id": "265d37e832a377e1397c575b68d34500002bc223",
      "new_mode": 33188,
      "new_path": "recipe_modules/bazel_roll/tests/cipd_package.expected/success.json"
    },
    {
      "type": "modify",
      "old_id": "f3f26621f27e95c549e3cabbfa41c022fb63b9c4",
      "old_mode": 33188,
      "old_path": "recipe_modules/bazel_roll/tests/retrieve_attributes.expected/success.json",
      "new_id": "600b572bd4e2d2c8afd292647b90354f11281862",
      "new_mode": 33188,
      "new_path": "recipe_modules/bazel_roll/tests/retrieve_attributes.expected/success.json"
    },
    {
      "type": "modify",
      "old_id": "eb342f689a195e0df68e3970d764b904e1361846",
      "old_mode": 33188,
      "old_path": "recipe_modules/checkout/tests/workspace.expected/found.json",
      "new_id": "79d8b50f7a229caa694ade6cfed4610d36cc4b82",
      "new_mode": 33188,
      "new_path": "recipe_modules/checkout/tests/workspace.expected/found.json"
    },
    {
      "type": "modify",
      "old_id": "bffb157dfa52dcf04e48de58c34982608f31e7f2",
      "old_mode": 33188,
      "old_path": "recipe_modules/checkout/tests/workspace.expected/not-found.json",
      "new_id": "db8ba06bd74298e0762cf57aacdb0f3e2c2d317b",
      "new_mode": 33188,
      "new_path": "recipe_modules/checkout/tests/workspace.expected/not-found.json"
    },
    {
      "type": "modify",
      "old_id": "f773c5032d5a970c51d02ad14ef9ff57b3ce0a2e",
      "old_mode": 33188,
      "old_path": "recipes/roller.expected/mega.json",
      "new_id": "8217677b1263fc535469edc82c565846123ae7e2",
      "new_mode": 33188,
      "new_path": "recipes/roller.expected/mega.json"
    },
    {
      "type": "modify",
      "old_id": "4221ec7a1d8802b0673a52aed459ba64d011aa6d",
      "old_mode": 33188,
      "old_path": "recipes/roller.expected/noop.json",
      "new_id": "6fa106c116744e925f7ac83810170af1635e47da",
      "new_mode": 33188,
      "new_path": "recipes/roller.expected/noop.json"
    }
  ]
}
