)]}'
{
  "commit": "5af71ce907848a546199f0d64a5dfba1db8adca0",
  "tree": "511327039aeb7db3d08a1fdc6bdb7b537116d63d",
  "parents": [
    "baa281d99e59dbf1447524e6fd95b384cadbc06e"
  ],
  "author": {
    "name": "Ram Peri",
    "email": "ramperi@google.com",
    "time": "Tue Apr 21 00:02:47 2026 +0000"
  },
  "committer": {
    "name": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Apr 21 17:10:07 2026 -0700"
  },
  "message": "Add timing keyword argument for hooks\n\nMeasure the duration of the sync operation in the Execute method of the\nSync command and pass it to post-sync hooks as a standard keyword\nargument (`sync_duration_seconds`).\n\nUpdates based on code review:\n- Update _API_ARGS in hooks.py to allow sync_duration_seconds for post-sync hooks.\n- Do not cast sync_duration_seconds to int for better granularity.\n- Update docs/repo-hooks.md to document sync_duration_seconds.\n- Add unit test for argument validation in test_hooks.py.\n\nTest: Ran run_tests using venv python, all 554 tests passed.\nBug: TBD\nChange-Id: Ie29e002a5d283460d993ad96c224dbf4b6d7985c\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/575021\nTested-by: Arif Kasim \u003carifkasim@google.com\u003e\nCommit-Queue: Ram Peri \u003cramperi@google.com\u003e\nReviewed-by: Arif Kasim \u003carifkasim@google.com\u003e\nReviewed-by: Gavin Mak \u003cgavinmak@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a56f261c7daf87a9e9fb6c501f6b54f1175d9d3d",
      "old_mode": 33188,
      "old_path": "docs/repo-hooks.md",
      "new_id": "696ad5a9f59c0ec9b81f6364a25009fb4d8e66bc",
      "new_mode": 33188,
      "new_path": "docs/repo-hooks.md"
    },
    {
      "type": "modify",
      "old_id": "d6e1e3bbcd078de85c34f51c650240472e0930a7",
      "old_mode": 33188,
      "old_path": "hooks.py",
      "new_id": "0637dcec8dd5e5f92c3a1fd7acd0d1ab262dfd2d",
      "new_mode": 33188,
      "new_path": "hooks.py"
    },
    {
      "type": "modify",
      "old_id": "bfbe1937d00cf8a10566fef09ef8ceae43d6ae13",
      "old_mode": 33188,
      "old_path": "subcmds/sync.py",
      "new_id": "7e7a2d3c0111804086918474dc02080675e22fe9",
      "new_mode": 33188,
      "new_path": "subcmds/sync.py"
    },
    {
      "type": "modify",
      "old_id": "9d52d1849e1d4ddd97b2d119c730c1f77557db33",
      "old_mode": 33188,
      "old_path": "tests/test_hooks.py",
      "new_id": "14c226c756c82c9a4faed87fb9e873fc386682dd",
      "new_mode": 33188,
      "new_path": "tests/test_hooks.py"
    }
  ]
}
