)]}'
{
  "commit": "d5037230e94e50c30698f9dd8d9404e293e23c7e",
  "tree": "3e91817d0984bdef99f2fdc4f982675de328f5c0",
  "parents": [
    "7cc99b24c1869d54168708a2df6e6f936c36f980"
  ],
  "author": {
    "name": "Gavin Mak",
    "email": "gavinmak@google.com",
    "time": "Mon May 11 15:56:08 2026 -0700"
  },
  "committer": {
    "name": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue May 12 10:41:47 2026 -0700"
  },
  "message": "sync: Re-raise KeyboardInterrupt in main process\n\nWhen running sync -j1, worker functions run directly in the main\nprocess. Swallowing KeyboardInterrupt causes the loop to continue to the\nnext project instead of aborting.\n\nRe-raise KeyboardInterrupt if running in the MainProcess, while\nmaintaining the suppression of stack traces in worker processes.\n\nBug: 468170157\nChange-Id: I156d66bc209a265f7fa25eea0eb88737d1b51a34\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/581342\nCommit-Queue: Gavin Mak \u003cgavinmak@google.com\u003e\nReviewed-by: Mike Frysinger \u003cvapier@google.com\u003e\nTested-by: Gavin Mak \u003cgavinmak@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e74a94fa36a85403822b016b474f79ba260103be",
      "old_mode": 33188,
      "old_path": "command.py",
      "new_id": "ee1f68c14f0f234de8503c036c04f2f67b936f27",
      "new_mode": 33188,
      "new_path": "command.py"
    },
    {
      "type": "modify",
      "old_id": "b1c30867ef6feadff29bb370e3d65312f15e16e6",
      "old_mode": 33188,
      "old_path": "subcmds/sync.py",
      "new_id": "2517694e7b7666a8e90d416b25aff889772bbd40",
      "new_mode": 33188,
      "new_path": "subcmds/sync.py"
    },
    {
      "type": "modify",
      "old_id": "0a46bbdf3729e449b246167c24d996b9138046c6",
      "old_mode": 33188,
      "old_path": "tests/test_subcmds_sync.py",
      "new_id": "669027c98383898206a5d8ecd6782eb9abae943d",
      "new_mode": 33188,
      "new_path": "tests/test_subcmds_sync.py"
    }
  ]
}
