)]}'
{
  "commit": "baa281d99e59dbf1447524e6fd95b384cadbc06e",
  "tree": "412dab50845510a6b4a802638c7d055955e37505",
  "parents": [
    "7e9079b7cf79988dd978d04bfb79250564829cc3"
  ],
  "author": {
    "name": "Gavin Mak",
    "email": "gavinmak@google.com",
    "time": "Mon Apr 20 17:57:20 2026 +0000"
  },
  "committer": {
    "name": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Apr 20 15:34:07 2026 -0700"
  },
  "message": "sync: Refactor to use _RunOneGC and fix config leakage\n\nExtract _RunOneGC to handle GC on a single project. This refactoring\nmakes it easier to invoke GC from parallel worker tasks.\n\nAlso, avoid modifying the passed-in config dictionary in _RunOneGC by\ncreating a local copy, preventing unintended side effects on other\ncommands sharing the same config.\n\nBug: 498290329\nChange-Id: I7b77ed6629b14b5ee3322870b9c6c8ce2bfd6ea2\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/574923\nReviewed-by: Becky Siegel \u003cbeckysiegel@google.com\u003e\nTested-by: Gavin Mak \u003cgavinmak@google.com\u003e\nCommit-Queue: Gavin Mak \u003cgavinmak@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "85ead6c3146571a37b71b20a709e0dfb1d80bbe1",
      "old_mode": 33188,
      "old_path": "subcmds/sync.py",
      "new_id": "bfbe1937d00cf8a10566fef09ef8ceae43d6ae13",
      "new_mode": 33188,
      "new_path": "subcmds/sync.py"
    },
    {
      "type": "modify",
      "old_id": "a6be0807ff995843a72758d6df517a781d3bcd97",
      "old_mode": 33188,
      "old_path": "tests/test_subcmds_sync.py",
      "new_id": "b3726d2d1f95e9796ffd329a117798d9815037ab",
      "new_mode": 33188,
      "new_path": "tests/test_subcmds_sync.py"
    }
  ]
}
