)]}'
{
  "log": [
    {
      "commit": "da806cefaf5de557e24401d03339081757340fd5",
      "tree": "0ab552927a92dc264fd5af34cdc1fa804f62c294",
      "parents": [
        "7f9c6f84c8d6ba534db0070e07479231c3ea8dc8"
      ],
      "author": {
        "name": "Rahul Yadav",
        "email": "yadavrah@google.com",
        "time": "Mon Sep 14 18:14:34 2026 +0000"
      },
      "committer": {
        "name": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Sep 14 11:44:51 2026 -0700"
      },
      "message": "Reland \"support for --fix and automated fixup notices\"\n\nThis reverts commit 7f9c6f84c8d6ba534db0070e07479231c3ea8dc8.\n\nReason for reland: the companion change in git-repo\n(https://gerrit-review.googlesource.com/c/git-repo/+/619281) has now\nbeen released in v2.67 / stable.\n\nBug: 546510319\nTest: python3 -m pytest\nChange-Id: I6fd5d2eb0b24b671bcddc11b3a054a03021f3b61\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/630821\nReviewed-by: Gavin Mak \u003cgavinmak@google.com\u003e\nReviewed-by: Rahul Yadav \u003cyadavrah@google.com\u003e\nCommit-Queue: Rahul Yadav \u003cyadavrah@google.com\u003e\nTested-by: Rahul Yadav \u003cyadavrah@google.com\u003e\n"
    },
    {
      "commit": "7f9c6f84c8d6ba534db0070e07479231c3ea8dc8",
      "tree": "838636eb0ed77a3414a8430f1ed3deedb79551c4",
      "parents": [
        "2a026ffe80b094acae73f143b5f40062d97d732b"
      ],
      "author": {
        "name": "Gavin Mak",
        "email": "gavinmak@google.com",
        "time": "Thu Sep 03 17:33:53 2026 -0700"
      },
      "committer": {
        "name": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 04 09:12:37 2026 -0700"
      },
      "message": "Revert support for --fix and automated fixup notices\n\nThis reverts commit cd38d46723aeed85e0c040a0315ac9d832f332fe.\nThis reverts commit b47d1dbfd25869a192417994617b7f755dedc4da.\n\nb47d1db (\"repohooks: print notice for available automated fixups\")\nwas a dependent follow-up to cd38d46 and is reverted alongside it.\n\nReason for revert: the corresponding change\nhttps://gerrit-review.git.corp.google.com/c/git-repo/+/619281 has not\nbeen released yet\n\nBug: 546510319\nChange-Id: I4a49de9cd6f101248475d88a741105abc54b2ba6\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/625526\nTested-by: Gavin Mak \u003cgavinmak@google.com\u003e\nReviewed-by: Sam Saccone \u003csamccone@google.com\u003e\nCommit-Queue: Gavin Mak \u003cgavinmak@google.com\u003e\nReviewed-by: Rahul Yadav \u003cyadavrah@google.com\u003e\n"
    },
    {
      "commit": "2a026ffe80b094acae73f143b5f40062d97d732b",
      "tree": "0ab552927a92dc264fd5af34cdc1fa804f62c294",
      "parents": [
        "b47d1dbfd25869a192417994617b7f755dedc4da"
      ],
      "author": {
        "name": "Han Wang",
        "email": "nesthanwang@google.com",
        "time": "Tue Aug 25 21:46:59 2026 +0000"
      },
      "committer": {
        "name": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Aug 28 10:55:52 2026 -0700"
      },
      "message": "Support dynamic ${REPO_ROOT} path resolution\n\nSome workspaces combine multiple components into a single checkout\nby nesting them under subdirectories (e.g., \u0027android/\u0027, \u0027kernel/\u0027).\nThis breaks existing PREUPLOAD.cfg files designed for single-tree\nlayouts, as they hardcode tool paths relative to ${REPO_ROOT}\n(e.g., `${REPO_ROOT}/vendor/google/tools/alint`).\n\nThis change introduces a fallback mechanism during variable expansion\nas an alternative to requiring individual project owners to break\nupstream compatibility.\n\nIf a path anchored by ${REPO_ROOT} does not exist at the workspace root,\nrepohooks will attempt to resolve it by checking against a\ncomma-separated list of fallback subdirectories defined in the\n`fallback_subtrees` option under the `[Options]` section of\nGLOBAL-PREUPLOAD.cfg. This option is restricted to GLOBAL-PREUPLOAD.cfg\nas subtree path mapping is inherently a workspace-wide layout setting.\n\nThe configured subtrees are parsed by PreUploadConfig and passed\nthrough HookOptions to Placeholders, preserving layer separation and\navoiding redundant disk I/O during hook execution.\n\nBug: 515602104\nTest: ./run_tests\nChange-Id: I8b80ccc3e4f633d55036491dd8f029a94f07880a\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/622561\nCommit-Queue: Han Wang \u003cnesthanwang@google.com\u003e\nTested-by: Han Wang \u003cnesthanwang@google.com\u003e\nReviewed-by: Gavin Mak \u003cgavinmak@google.com\u003e\n"
    },
    {
      "commit": "b47d1dbfd25869a192417994617b7f755dedc4da",
      "tree": "72e677a396e350513e35877f8685c071ca2abe85",
      "parents": [
        "cd38d46723aeed85e0c040a0315ac9d832f332fe"
      ],
      "author": {
        "name": "Rahul Yadav",
        "email": "yadavrah@google.com",
        "time": "Thu Aug 27 15:39:58 2026 +0000"
      },
      "committer": {
        "name": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Aug 28 03:23:19 2026 -0700"
      },
      "message": "repohooks: print notice for available automated fixups\n\nWhen running non-interactively or with --yes without --fix, print a\nnotice informing users/agents that automated fixups are available and\nhow to apply them (`repo upload --fix`, amend, and re-upload).\n\nBug: 546510319\nTest: python3 -m pytest\n\nChange-Id: I258d618c502ce5e20a2a41d412ab680fe60fa10f\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/622861\nCommit-Queue: Rahul Yadav \u003cyadavrah@google.com\u003e\nReviewed-by: Gavin Mak \u003cgavinmak@google.com\u003e\nTested-by: Rahul Yadav \u003cyadavrah@google.com\u003e\n"
    },
    {
      "commit": "cd38d46723aeed85e0c040a0315ac9d832f332fe",
      "tree": "30088e45e09d6b351b7d052b5147f5a6ad0af2c1",
      "parents": [
        "2356992538153710a36ac2dbece3241379c4b3ce"
      ],
      "author": {
        "name": "Rahul Yadav",
        "email": "yadavrah@google.com",
        "time": "Mon Aug 24 10:37:13 2026 +0000"
      },
      "committer": {
        "name": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Aug 27 03:30:36 2026 -0700"
      },
      "message": "repohooks: support --fix and handle non-interactive fixups\n\nAllow main() and direct_main() in pre-upload.py to accept the fix\nargument/option. Propagate it to _attempt_fixes to automatically\napply fixups when explicitly requested.\n\nWhen fix is False, do not prompt and do not apply fixups if yes\nis set or if running non-interactively (sys.stdin is not a tty),\npreventing automated runs from blocking on prompts or mutating files.\n\nBug: 546510319\nTest: python3 -m pytest\nChange-Id: Ie89b0a355a727bf00ce9e40946b6068ad23acb1f\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/621761\nReviewed-by: Gavin Mak \u003cgavinmak@google.com\u003e\nCommit-Queue: Rahul Yadav \u003cyadavrah@google.com\u003e\nTested-by: Rahul Yadav \u003cyadavrah@google.com\u003e\n"
    },
    {
      "commit": "2356992538153710a36ac2dbece3241379c4b3ce",
      "tree": "e90f62a70e3e115d40afe4a2cb853b85707cc21d",
      "parents": [
        "104f68e70fceb987a2861618b9f88eacc4fbbb3f"
      ],
      "author": {
        "name": "Joe Baker-Malone",
        "email": "jbakermalone@google.com",
        "time": "Fri Aug 21 16:39:15 2026 -0700"
      },
      "committer": {
        "name": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 24 10:04:02 2026 -0700"
      },
      "message": "Check return val rather than stdout\n\nSince stderr and stdout are combined, we get in false positives\nif there are warnings printed by the jvm (as is the case with\nktfmt 0.62). Switching to checking the return value of the\ncommand, which is more correct anyway.\n\nTest: python3 -m pytest rh/hooks_unittest.py pre-upload_unittest.py\nFixes: 550414981\nChange-Id: I4a4cc94b6362bf5518242f5d4f959062e209c246\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/621381\nTested-by: Joe Baker-Malone \u003cjbakermalone@google.com\u003e\nCommit-Queue: Joe Baker-Malone \u003cjbakermalone@google.com\u003e\nReviewed-by: Gavin Mak \u003cgavinmak@google.com\u003e\n"
    },
    {
      "commit": "104f68e70fceb987a2861618b9f88eacc4fbbb3f",
      "tree": "54d75e91acca1f1bab1917c011b7aafb41d5129a",
      "parents": [
        "8082d9c71c5e273669348542ac0bfa340aa21e60"
      ],
      "author": {
        "name": "George Engelbrecht",
        "email": "engeg@google.com",
        "time": "Fri Jul 31 21:26:48 2026 +0000"
      },
      "committer": {
        "name": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 11 09:18:01 2026 -0700"
      },
      "message": "Add Git Trace2 event logging\n\nEmits Git Trace2 JSON events when GIT_TRACE2_EVENT is set in the\nenvironment or trace2.eventTarget is configured in git so that repohook\nexecution and per-hook latency can be recorded by Trace2 event\nconsumers.\n\nBug: 399825642\nTest: ./pre-upload.py --project platform/tools/repohooks HEAD\nChange-Id: Ia749338035c64eb4d9aa9c5604698cabe37b5941\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/613822\nReviewed-by: Gavin Mak \u003cgavinmak@google.com\u003e\nTested-by: George Engelbrecht \u003cengeg@google.com\u003e\nCommit-Queue: George Engelbrecht \u003cengeg@google.com\u003e\n"
    },
    {
      "commit": "8082d9c71c5e273669348542ac0bfa340aa21e60",
      "tree": "837525d889967a08f6e5998ab970852d6f66e3ad",
      "parents": [
        "dc7b6c8f5217d947b1687d660d2969dc6a8703c8"
      ],
      "author": {
        "name": "Sam Saccone",
        "email": "samccone@google.com",
        "time": "Thu Jul 23 09:51:06 2026 -0700"
      },
      "committer": {
        "name": "Becky Siegel",
        "email": "beckysiegel@google.com",
        "time": "Thu Jul 30 15:36:15 2026 -0700"
      },
      "message": "Edit OWNERS\n\nChange-Id: I29d638bef8b6a8a413f9eeb12e8d6180a4af65e0\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/610921\nReviewed-by: Rahul Yadav \u003cyadavrah@google.com\u003e\nReviewed-by: Becky Siegel \u003cbeckysiegel@google.com\u003e\nTested-by: Becky Siegel \u003cbeckysiegel@google.com\u003e\n"
    },
    {
      "commit": "dc7b6c8f5217d947b1687d660d2969dc6a8703c8",
      "tree": "e2a3f7135e09d5fcaa6eb0dca6987e7f3157a91b",
      "parents": [
        "9e5d20a6da29c209c671a5a8e52916fbcc6fe149"
      ],
      "author": {
        "name": "Rahul Yadav",
        "email": "yadavrah@google.com",
        "time": "Thu Jul 09 10:36:36 2026 +0000"
      },
      "committer": {
        "name": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jul 23 09:53:12 2026 -0700"
      },
      "message": "repohooks: propagate yes argument for auto-fixups\n\nAllow main() and direct_main() in pre-upload.py to accept the yes\nargument/option. Propagate it through the calling stack\n(callable_builtin_hooks -\u003e HookOptions -\u003e check_alint -\u003e fixup_cmd) and\nto _attempt_fixes to bypass interactive confirmation prompts.\n\nBug: 498893733\nTest: python3 -m pytest rh/hooks_unittest.py pre-upload_unittest.py\nFlag: NONE developer tool change\n\nChange-Id: I684e321768798a6c93c024e893e8a8e8d59dd891\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/606141\nTested-by: Rahul Yadav \u003cyadavrah@google.com\u003e\nCommit-Queue: Rahul Yadav \u003cyadavrah@google.com\u003e\nReviewed-by: Sam Saccone \u003csamccone@google.com\u003e\n"
    },
    {
      "commit": "9e5d20a6da29c209c671a5a8e52916fbcc6fe149",
      "tree": "b77a2973a02c1217522326c523af4d748b9bc41d",
      "parents": [
        "5137fbbfb31bc7f8b9b7243934d3c80e558a277c"
      ],
      "author": {
        "name": "Achim Thesmann",
        "email": "achim@google.com",
        "time": "Thu Jul 09 18:14:00 2026 +0000"
      },
      "committer": {
        "name": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jul 13 11:03:55 2026 -0700"
      },
      "message": "hooks: enhance Change-Id check to catch case-insensitive duplicates\n\nUpdate check_commit_msg_changeid_field to check for multiple Change-Id\nfooters in a case-insensitive manner (including variations like\nChange-ID or change-id), and explicitly reject non-matching cases or\nmalformed value formats.\n\nPreviously, casing and format checks were coupled, causing malformed ID\nvalues (such as a missing \u0027I\u0027 prefix) to be falsely reported as field\ncasing errors. This change decouples field name casing validation from\nvalue format validation into independent checks with actionable error\nmessages, and ensures that duplicate Change-Id footers trigger an\nexplicit rejection even when mixed casing or format errors are present.\n\nAlso replaces the single batch unit test with 7 focused test methods\ncovering valid messages, casing errors, format errors, duplicate lines,\nand mixed combinations.\n\nBug: 533035135\nTest: python3 -m unittest rh/hooks_unittest.py\nTest: tried to upload change with duplicate change-id\nChange-Id: I9ab168a3d99f7b6cd3f9200c2c2c389e9163525d\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/605723\nReviewed-by: Mike Frysinger \u003cvapier@google.com\u003e\nCommit-Queue: Achim Thesmann \u003cachim@google.com\u003e\nTested-by: Achim Thesmann \u003cachim@google.com\u003e\n"
    },
    {
      "commit": "5137fbbfb31bc7f8b9b7243934d3c80e558a277c",
      "tree": "2fdb0406f67f43e0897416593169ad55300cb5b3",
      "parents": [
        "f253c196d27c37eee01cae0c454e85a40d40cfa9"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Apr 15 00:36:24 2026 -0400"
      },
      "committer": {
        "name": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sun Jul 12 22:01:09 2026 -0700"
      },
      "message": "enable mypy type checking \u0026 fixup some code\n\nSeems to be fast enough for this codebase, especially once cached.\n\nChange-Id: Id60f4c5fa7971e818f879fbe2548bd501e22e15e\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/574161\nReviewed-by: Raul Rangel \u003crrangel@google.com\u003e\nTested-by: Mike Frysinger \u003cvapier@google.com\u003e\nCommit-Queue: Mike Frysinger \u003cvapier@google.com\u003e\n"
    },
    {
      "commit": "f253c196d27c37eee01cae0c454e85a40d40cfa9",
      "tree": "09305a7d32939fb30195387ed5cd65287916586d",
      "parents": [
        "d4cf1ff5839b8f42b20b8b6ea38c90a32ac25558"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed May 06 06:21:20 2026 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Jun 09 12:28:42 2026 -0700"
      },
      "message": "OWNERS: drop xcl@\n\nChange-Id: Id511f023a23d6989780742c0a8bba132650bd393\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/587901\nTested-by: Mike Frysinger \u003cvapier@google.com\u003e\nReviewed-by: Leandro Lovisolo \u003clovisolo@google.com\u003e\n"
    },
    {
      "commit": "d4cf1ff5839b8f42b20b8b6ea38c90a32ac25558",
      "tree": "19b7946639396df8fbf09b109282035b9891615d",
      "parents": [
        "1b34d1c38aea6f95c521392a24df5ed8b5601271"
      ],
      "author": {
        "name": "Ram Peri",
        "email": "ramperi@google.com",
        "time": "Thu May 14 00:43:58 2026 +0000"
      },
      "committer": {
        "name": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed May 13 22:06:08 2026 -0700"
      },
      "message": "Remove error message for missing post-sync hooks and accept string for sync-duration\n\n- Remove the print statement that warns about a missing hook file\n  in `post-sync.py`. This silences the error when a registered\n  hook is not found.\n- Change `--sync-duration-seconds` type from int to string (default) to accept\n  values passed by repo tool.\n\nBug: 513002761\nTest: ./run_tests\nFlag: EXEMPT (PURE_REFACTOR)\nChange-Id: I6c0833eca3f3905723b2a0952050f15278c65ff2\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/583302\nCommit-Queue: Ram Peri \u003cramperi@google.com\u003e\nTested-by: Sam Saccone \u003csamccone@google.com\u003e\nReviewed-by: Sam Saccone \u003csamccone@google.com\u003e\n"
    },
    {
      "commit": "1b34d1c38aea6f95c521392a24df5ed8b5601271",
      "tree": "191a1d350aeca7261147ec0c395f4da955817969",
      "parents": [
        "4fc4dd84b3184467f34e9125c57f3bd1c427651f"
      ],
      "author": {
        "name": "Ram Peri",
        "email": "ramperi@google.com",
        "time": "Tue Apr 14 17:52:51 2026 +0000"
      },
      "committer": {
        "name": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat May 02 21:26:25 2026 -0700"
      },
      "message": "Add post-sync hook dispatcher\n\nThis script acts as an entry point for repo post-sync hooks. It reads a\nconfiguration file from the manifest repository to discover and execute\nregistered post-sync hooks.\n\nUpdates based on code review:\n- Rename dispatcher to post-sync.py per hook naming conventions.\n- Use pathlib and argparse for better path and argument handling.\n- Adopt GLOBAL-POSTSYNC.cfg (INI format) with [Hook Scripts] section.\n- Support placeholder expansion (${REPO_ROOT}, ${REPO_SYNC_DURATION}).\n- Use standard REPO_ROOT naming for consistency.\n- Retrieve repo root and sync duration from environment variables if available.\n- Respect script shebangs and remove broad exception catching.\n- Cleanup run_tests and unittests.\n- Remove unrecognized \u0027too-many-positional-arguments\u0027 from pylintrc to fix CI.\n- Fix lint and import sorting errors in post-sync.py and rh/config.py.\n- Revert accidental docstring indentation changes in rh/config.py.\n- Delete empty newline in tools/pylintrc.\n\nBug: 502597102\nTest: Ran run_tests using venv python, all 131 tests passed.\nChange-Id: I747abc79eeea1915ae4d7a957f47b07687c04100\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/567821\nCommit-Queue: Ram Peri \u003cramperi@google.com\u003e\nReviewed-by: Gavin Mak \u003cgavinmak@google.com\u003e\nReviewed-by: Jinda Zhuang \u003cjindaz@google.com\u003e\nTested-by: Ram Peri \u003cramperi@google.com\u003e\nReviewed-by: Arif Kasim \u003carifkasim@google.com\u003e\n"
    },
    {
      "commit": "4fc4dd84b3184467f34e9125c57f3bd1c427651f",
      "tree": "039b6a2fecaaade08745835f56d7979e94529afb",
      "parents": [
        "4a5da9334164f7da769b71f3fe29b2f6ee2a96fd"
      ],
      "author": {
        "name": "Marty Heavey",
        "email": "mheavey@google.com",
        "time": "Fri Apr 17 12:10:02 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 07:56:05 2026 -0700"
      },
      "message": "hooks: alint: skip fixup command for non-HEAD commits\n\nalint fix is not supported for non-HEAD commits, so avoid passing it to prevent bad UX. Also update tests to verify this behavior.\n\nBug: 502139280\n\nTest: rh/hooks_unittest.py\n\nChange-Id: Iabcdef0123456789abcdef0123456789abcdef01\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/574282\nReviewed-by: Gaurav Bhadra \u003cgauravbhadra@google.com\u003e\nTested-by: Marty Heavey \u003cmheavey@google.com\u003e\nReviewed-by: Raul Rangel \u003crrangel@google.com\u003e\nCommit-Queue: Marty Heavey \u003cmheavey@google.com\u003e\nReviewed-by: Lauren Minchin \u003clminchin@google.com\u003e\n"
    },
    {
      "commit": "4a5da9334164f7da769b71f3fe29b2f6ee2a96fd",
      "tree": "aaf5520e80757edb094d2fa5dc29106cc6b7c202",
      "parents": [
        "aad504a407d3a2f0f3c948615dda09d44cf576ca"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Apr 15 00:03:14 2026 -0400"
      },
      "committer": {
        "name": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 14 21:25:20 2026 -0700"
      },
      "message": "enable isort \u0026 fixup code\n\nThis helps enforce more style rules not covered by black.\n\nChange-Id: I5006c23fda8054735c8442f4150ee384bed18db5\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/573341\nReviewed-by: Ram Peri \u003cramperi@google.com\u003e\nTested-by: Mike Frysinger \u003cvapier@google.com\u003e\nReviewed-by: Mike Frysinger \u003cvapier@google.com\u003e\nCommit-Queue: Mike Frysinger \u003cvapier@google.com\u003e\n"
    },
    {
      "commit": "aad504a407d3a2f0f3c948615dda09d44cf576ca",
      "tree": "cc697a9b63c0575ddc08155f0a6a6ef64780e83d",
      "parents": [
        "bc19909f81fd963895ffcf474e58f2e5c57f9213"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Apr 14 10:58:35 2026 -0400"
      },
      "committer": {
        "name": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 14 08:33:28 2026 -0700"
      },
      "message": "reformat docstring indents\n\nWhile black reformatted the code to 4 space indent, it didn\u0027t handle\ndocstrings, and it was missed during review.  Update that now.\n\nChange-Id: If69ffe5062f0aad0ee117b1d8153996fd7e65311\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/573041\nCommit-Queue: Mike Frysinger \u003cvapier@google.com\u003e\nReviewed-by: Raul Rangel \u003crrangel@google.com\u003e\nTested-by: Mike Frysinger \u003cvapier@google.com\u003e\n"
    },
    {
      "commit": "bc19909f81fd963895ffcf474e58f2e5c57f9213",
      "tree": "8e645e7775eb9546fa343e7739e2372ef34bf601",
      "parents": [
        "0a2ff6d71e4a07a062f8a389250140a2c6828e72"
      ],
      "author": {
        "name": "Marty Heavey",
        "email": "mheavey@google.com",
        "time": "Thu Mar 26 15:37:06 2026 +0000"
      },
      "committer": {
        "name": "LUCI",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 09 02:45:55 2026 -0700"
      },
      "message": "results: allow fixups on warnings; hooks: alint: pass warning\u003dTrue for exit code 6\n\nModify ProjectResults.fixups to yield results even if they are non-blocking\nwarnings, as long as they have a fixup command.\n\nUpdate alint hook to map exit code 6 (findings with fixes) to 77\n(non-blocking warning). This allows alint findings to be reported as\nwarnings while still offering the fixup command to the user.\n\nBug: 494210418\nTest: rh/results_unittest.py\nTest: rh/hooks_unittest.py\nChange-Id: Ibb395c8a618f8b75138152141fb92adf45544733\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/566241\nReviewed-by: Mike Frysinger \u003cvapier@google.com\u003e\nTested-by: Marty Heavey \u003cmheavey@google.com\u003e\nCommit-Queue: Marty Heavey \u003cmheavey@google.com\u003e\n"
    },
    {
      "commit": "0a2ff6d71e4a07a062f8a389250140a2c6828e72",
      "tree": "d3e1ae1850ca25219739e1bedfbeeb1528d04e42",
      "parents": [
        "34a128aaf30c375dd683c6eaa8005f25aed20baf"
      ],
      "author": {
        "name": "Marty Heavey",
        "email": "mheavey@google.com",
        "time": "Tue Apr 07 15:00:07 2026 +0000"
      },
      "committer": {
        "name": "LUCI",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 07 08:46:26 2026 -0700"
      },
      "message": "hooks: fix shared mutable list bug in ProjectResults\n\nThe ProjectResults class used a mutable default list `results: List[HookResult] \u003d []`.\nIn Python, this creates a single list instance shared across all ProjectResults\nobjects that do not explicitly provide a list. This led to cross-contamination\nof results across different projects during `repo upload`.\n\nThis change removes the default value to prevent accidental state sharing and\nrequires explicit initialization. It also updates callers to pass an empty list\nand adds a unit test to verify instance isolation.\n\nBug: 499052751\nTest: ./rh/results_unittest.py\n\nChange-Id: Icaa52eed649b9ccfb6e42e1c68505e5ee086878a\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/570141\nReviewed-by: Mike Frysinger \u003cvapier@google.com\u003e\nTested-by: Marty Heavey \u003cmheavey@google.com\u003e\nCommit-Queue: Marty Heavey \u003cmheavey@google.com\u003e\n"
    },
    {
      "commit": "34a128aaf30c375dd683c6eaa8005f25aed20baf",
      "tree": "26fe2e67de773f52339f32297f5889df1738a15b",
      "parents": [
        "7e7fb45886db2a2a4be634fe104deb1ad4d68491"
      ],
      "author": {
        "name": "Marty Heavey",
        "email": "mheavey@google.com",
        "time": "Tue Mar 31 13:59:27 2026 +0000"
      },
      "committer": {
        "name": "LUCI",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 01 08:47:26 2026 -0700"
      },
      "message": "hooks: alint: pass commit to alint fixup cmd\n\n`alint fix` is not currently supported for non-HEAD\ncommits. Passing the commit to alint fix in combination\nwith cl/892353691 will make that more clear to users.\n\nBug: 498149194\nChange-Id: I2af67023686ac2a07fc3fe7ab51d8cddfc434e9d\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/567561\nReviewed-by: Alibek Manabayev \u003cminmax@google.com\u003e\nReviewed-by: Lauren Minchin \u003clminchin@google.com\u003e\nTested-by: Marty Heavey \u003cmheavey@google.com\u003e\nReviewed-by: Mike Frysinger \u003cvapier@google.com\u003e\nCommit-Queue: Marty Heavey \u003cmheavey@google.com\u003e\n"
    },
    {
      "commit": "7e7fb45886db2a2a4be634fe104deb1ad4d68491",
      "tree": "765da136e41c50e340aac8a44cd5366a9941392c",
      "parents": [
        "6b722af8ad364920600262925d88b46aeeba023a"
      ],
      "author": {
        "name": "Marty Heavey",
        "email": "mheavey@google.com",
        "time": "Thu Mar 19 15:51:50 2026 +0000"
      },
      "committer": {
        "name": "LUCI",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 27 03:43:57 2026 -0700"
      },
      "message": "hooks: alint: add fixup_cmd when alint exits with codes (5, 6)\n\nBug: 494210418\nChange-Id: I348d65f25841364c28f7879e9d28f63a6c2b046c\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/564464\nReviewed-by: Alibek Manabayev \u003cminmax@google.com\u003e\nReviewed-by: Lauren Minchin \u003clminchin@google.com\u003e\nTested-by: Marty Heavey \u003cmheavey@google.com\u003e\nReviewed-by: Mike Frysinger \u003cvapier@google.com\u003e\nCommit-Queue: Marty Heavey \u003cmheavey@google.com\u003e\n"
    },
    {
      "commit": "6b722af8ad364920600262925d88b46aeeba023a",
      "tree": "076fc6af51708c137347725532a9334018ebd2d7",
      "parents": [
        "18be4d4cdb7a9f745a3057336a0d4ca893932ab6"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Mar 25 19:28:59 2026 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Mar 26 15:31:28 2026 -0700"
      },
      "message": "convert remaining __file__ usage to pathlib\n\nBug: None\nTest: `./run_tests`\nChange-Id: Iaaf7b0c8ce388f6e39123b16bf6c71d3a51edd0f\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/565942\nTested-by: Mike Frysinger \u003cvapier@google.com\u003e\nReviewed-by: Raul Rangel \u003crrangel@google.com\u003e\n"
    },
    {
      "commit": "18be4d4cdb7a9f745a3057336a0d4ca893932ab6",
      "tree": "a1cb6fcabb4f6126b7008da8d8f8300d53caaccd",
      "parents": [
        "ed26f3f58a52a36ed0bedf62b9db82faaa635f71"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Mar 25 19:17:17 2026 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Mar 25 18:41:00 2026 -0700"
      },
      "message": "migrate \u0026 standardize sys.path injection to pathlib\n\nBug: None\nTest: `./run_tests`\nChange-Id: I20b2d8d416a376f9924ba79a4279db1d7482386a\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/565941\nReviewed-by: Leandro Lovisolo \u003clovisolo@google.com\u003e\nTested-by: Mike Frysinger \u003cvapier@google.com\u003e\n"
    },
    {
      "commit": "ed26f3f58a52a36ed0bedf62b9db82faaa635f71",
      "tree": "151d66a741f95ee808b4e769c84bbf6b68a98f2f",
      "parents": [
        "71aff5ebc293176a4aafb04596136aa0f4853df3"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Mon Mar 23 18:40:58 2026 -0400"
      },
      "committer": {
        "name": "LUCI",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 23 16:00:12 2026 -0700"
      },
      "message": "hooks: fix unittests in CQ\n\nMock out the find_repo_root API using the existing helper.\n\nBug: None\nTest: `./rh/hooks_unittest.py` passes in CQ\nChange-Id: Ie1df1e31ae93ac927883b1a63ff62716ce09d778\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/564901\nCommit-Queue: Mike Frysinger \u003cvapier@google.com\u003e\nReviewed-by: Raul Rangel \u003crrangel@google.com\u003e\nTested-by: Mike Frysinger \u003cvapier@google.com\u003e\n"
    },
    {
      "commit": "71aff5ebc293176a4aafb04596136aa0f4853df3",
      "tree": "e846ab26cc267b0a76398a7b2e43a868101a9d81",
      "parents": [
        "c5e9c789942633b5a43816a97cc9c94fd81adedc"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sat Feb 28 00:46:58 2026 -0500"
      },
      "committer": {
        "name": "LUCI",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 02 14:52:45 2026 -0800"
      },
      "message": "run_tests: integrate pylint\n\nSince we run this during `repo upload`, integrate it into CI too.\n\nAnd then fix the latest pylint errors that have slipped in.\n\nBug: None\nTest: `./run_tests`\nChange-Id: I114f831b272b02424396fccf49878fd55446768d\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/556726\nReviewed-by: Raul Rangel \u003crrangel@google.com\u003e\nTested-by: Mike Frysinger \u003cvapier@google.com\u003e\nCommit-Queue: Mike Frysinger \u003cvapier@google.com\u003e\n"
    },
    {
      "commit": "c5e9c789942633b5a43816a97cc9c94fd81adedc",
      "tree": "8e9af6eec222aaa54040ed5606057af36bf8fb1f",
      "parents": [
        "550bfc6b082443de12cd91dd2979f6422b974b12"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sat Feb 28 00:52:15 2026 -0500"
      },
      "committer": {
        "name": "LUCI",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 02 12:08:42 2026 -0800"
      },
      "message": "pylint: fix various errors caught by 3.2\n\nIn preparation for adding to CI run_tests, cleanup the current codebase.\n\nBug: None\nTest: `./run_tests`\nChange-Id: Ie1a07b644b6b3405cb347e2cc062818d0b6bdc51\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/556725\nReviewed-by: Raul Rangel \u003crrangel@google.com\u003e\nTested-by: Mike Frysinger \u003cvapier@google.com\u003e\nCommit-Queue: Mike Frysinger \u003cvapier@google.com\u003e\n"
    },
    {
      "commit": "550bfc6b082443de12cd91dd2979f6422b974b12",
      "tree": "354ca85ca5556e267e87810669561270f691868f",
      "parents": [
        "7ccfc0083d1764ac8023649c8771e3fbc8b2b6be"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sat Feb 28 00:46:09 2026 -0500"
      },
      "committer": {
        "name": "LUCI",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 02 11:48:09 2026 -0800"
      },
      "message": "run_tests: log commands \u0026 versions used\n\nMake test \u0026 CI output more discoverable for users.\n\nBug: None\nTest: `./run_tests`\nChange-Id: I8914e34a79b76e39d8088718cc2504b25a14d3f1\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/556724\nReviewed-by: Raul Rangel \u003crrangel@google.com\u003e\nTested-by: Mike Frysinger \u003cvapier@google.com\u003e\nCommit-Queue: Mike Frysinger \u003cvapier@google.com\u003e\n"
    },
    {
      "commit": "7ccfc0083d1764ac8023649c8771e3fbc8b2b6be",
      "tree": "b634191acaa5c77b8bbeef82292f1c469e08ac24",
      "parents": [
        "2cf2c7a139056b2760caca5a816d23479603b9e4"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Fri Jan 30 16:09:21 2026 -0800"
      },
      "committer": {
        "name": "LUCI",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Feb 02 16:24:00 2026 -0800"
      },
      "message": "Hook ktfmt: Apply formater to kts files\n\nFile ending in kts are formatable by ktfmt. The android lint is warning\nabout format error in gerrit, but the repo hook skip those files.\n\nTest: manual test with local unformatted change to validate that kt and\n      kts files are still formated\nBug: 311772251\nFlag: EXEMPT HOST_MODE\nChange-Id: Ic23b4fc3d87080a317a9761f939aa0c41c1f3e02\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/548281\nCommit-Queue: William Escande \u003cwescande@google.com\u003e\nReviewed-by: Mike Frysinger \u003cvapier@google.com\u003e\nTested-by: William Escande \u003cwescande@google.com\u003e\n"
    },
    {
      "commit": "2cf2c7a139056b2760caca5a816d23479603b9e4",
      "tree": "260724413c138e62cf1971fa16effa591374a8b2",
      "parents": [
        "aea1bcaba7a58dae450479a99d1ff3ace08100e1"
      ],
      "author": {
        "name": "Doğancan Emek",
        "email": "dogancanemek@google.com",
        "time": "Mon Jul 28 15:26:38 2025 +0000"
      },
      "committer": {
        "name": "LUCI",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Aug 20 02:41:47 2025 -0700"
      },
      "message": "hooks: add alint support\n\nIn order to roll it out to all Android, Alint needs to have a method to\nrun it in hooks.py\n\nBug: 433460364\nTest: unittests\nChange-Id: I301736d2946b5bcb8fb2663229745958d9386c6d\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/494721\nReviewed-by: Damian Turczynski \u003cdamtur@google.com\u003e\nCommit-Queue: Doğancan Emek \u003cdogancanemek@google.com\u003e\nReviewed-by: Mike Frysinger \u003cvapier@google.com\u003e\nTested-by: Doğancan Emek \u003cdogancanemek@google.com\u003e\n"
    },
    {
      "commit": "aea1bcaba7a58dae450479a99d1ff3ace08100e1",
      "tree": "09cb3a3865ef9ce7779e845943a3c7a154e957b6",
      "parents": [
        "8e3b4d687429c833b1da4a43f1d81667edabce15"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Mon May 19 19:38:06 2025 -0400"
      },
      "committer": {
        "name": "LUCI",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue May 20 08:19:54 2025 -0700"
      },
      "message": "combine string constants after black reformat\n\nBug: 343563953\nTest: unittests\nChange-Id: Ie479be271f0cf07e985e18164793dc662edd3422\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/477581\nCommit-Queue: Mike Frysinger \u003cvapier@google.com\u003e\nReviewed-by: Raul Rangel \u003crrangel@google.com\u003e\nTested-by: Mike Frysinger \u003cvapier@google.com\u003e\n"
    },
    {
      "commit": "8e3b4d687429c833b1da4a43f1d81667edabce15",
      "tree": "72d35baca1b763caaffe60b7a4ade09187b56a0c",
      "parents": [
        "d801506b8bb1a1131ca25f952bc7d61e53641177"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Apr 30 14:45:56 2025 -0400"
      },
      "committer": {
        "name": "LUCI",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 30 11:56:45 2025 -0700"
      },
      "message": "OWNERS: refresh list\n\nChange-Id: I120f74396591b27320f81674595af429aef9e5ee\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/471961\nCommit-Queue: Mike Frysinger \u003cvapier@google.com\u003e\nReviewed-by: Raul Rangel \u003crrangel@google.com\u003e\nTested-by: Mike Frysinger \u003cvapier@google.com\u003e\n"
    },
    {
      "commit": "d801506b8bb1a1131ca25f952bc7d61e53641177",
      "tree": "66196161ebdc4a4635b0683f2e4b49b1f864cead",
      "parents": [
        "9d1c128990b07f96a0f00d8d6cc5d6d26a52e201"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri May 24 15:10:16 2024 -0400"
      },
      "committer": {
        "name": "LUCI",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 14 15:20:23 2025 -0700"
      },
      "message": "reformat codebase with black\n\nBug: 343563953\nTest: unittests\nChange-Id: I709596674717d56cb5d7f8ba0904a23117e97e82\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/467921\nTested-by: Mike Frysinger \u003cvapier@google.com\u003e\nCommit-Queue: Mike Frysinger \u003cvapier@google.com\u003e\nReviewed-by: Raul Rangel \u003crrangel@google.com\u003e\n"
    },
    {
      "commit": "9d1c128990b07f96a0f00d8d6cc5d6d26a52e201",
      "tree": "f3acaf459ecc04c3137cf796bda707f1598f2e1f",
      "parents": [
        "4c9f143d5bd588c0a3d791eab53e0cc1613e0a3a"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri May 24 15:04:47 2024 -0400"
      },
      "committer": {
        "name": "LUCI",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 10 11:00:11 2025 -0700"
      },
      "message": "hooks: add support for black\n\nAllow people to check Python formatting via black.\n\nBug: 343563953\nTest: unittests\nChange-Id: Iba40f8f17039322a3e5f74ce56090b0d89e5ad50\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/463341\nReviewed-by: Raul Rangel \u003crrangel@google.com\u003e\nCommit-Queue: Mike Frysinger \u003cvapier@google.com\u003e\nTested-by: Mike Frysinger \u003cvapier@google.com\u003e\n"
    },
    {
      "commit": "4c9f143d5bd588c0a3d791eab53e0cc1613e0a3a",
      "tree": "71eca3167fb7fa59811f1e4424c00333fdd09bdc",
      "parents": [
        "cf560776c149c25bc473f2864d2a92a3255e7e70"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Mar 19 13:49:32 2025 -0400"
      },
      "committer": {
        "name": "LUCI",
        "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 27 08:33:43 2025 -0700"
      },
      "message": "run_tests: add helper for CQ\n\nThe new LUCI-based CQ flow will use this to check things.\n\nDisable 3 tests for now that only work in a larger repo source checkout\n(which contains a .repo/ dir) until we can chase that down.\n\nBug: 400763202\nTest: `vpython3 ./run_tests`\nChange-Id: I0cc28c9720b9c4afde47bc6ce9fd19dc61e56553\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repohooks/+/463361\nTested-by: Mike Frysinger \u003cvapier@google.com\u003e\nReviewed-by: Leandro Lovisolo \u003clovisolo@google.com\u003e\nCommit-Queue: Mike Frysinger \u003cvapier@google.com\u003e\n"
    },
    {
      "commit": "cf560776c149c25bc473f2864d2a92a3255e7e70",
      "tree": "042e57afff65f3fdcfa837408a9f13388057bf5d",
      "parents": [
        "7fcd37f2ab3ff9b849225340fc1a45bc6f7c2103"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Mon Mar 10 14:40:48 2025 -0400"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Mar 10 13:33:36 2025 -0700"
      },
      "message": "tools: pylintrc: update for v3\n\nDrop settings that don\u0027t exist in pylint-3 anymore.\n\nBug: 382098607\nTest: `./tools/pylint.py rh/*.py` is a lot cleaner now\nChange-Id: Ie133d73e9a4fae858d2221cc2112905379061d62\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3533819\nOpen-Source-Licensing: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nReviewed-by: Greg Edelston \u003cgredelston@google.com\u003e\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\nAutosubmit: Mike Frysinger \u003cvapier@google.com\u003e\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\n"
    },
    {
      "commit": "7fcd37f2ab3ff9b849225340fc1a45bc6f7c2103",
      "tree": "f9a03c342d1134bf7f0d5ad7cbb719f4b50450be",
      "parents": [
        "d480cf2500a8842b4ef64b931acfd4ddc2f04ecf"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Mar 05 09:35:51 2025 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Mar 10 10:34:49 2025 -0700"
      },
      "message": "Revert \"tools: cpplint: Add Android.bp to build cpplint as python_binary_host\"\n\nThis reverts commit dfda9bcf07fbab25efe44fe603f6ebe9ed643ea7.\n\nReason for revert: The development flow \u0026 goals of repohooks is unable\nto support the needs of art.  The main branch of repohooks is used in\nall branches of Android, including very old ones, so we have to stay\ncompatible.  That means the tool behavior, and in Android.bp syntax.\nOlder branches will fail with newer cpplint, and older soong tooling\ndoes not recognize newer keywords in this Android.bp.\n\nAny tools we want to execute at build time will need to be vendored in\ndirectly in external/ so they stay pinned/locked when branches are cut.\n\nBug: 396027786 \nBug: 396308027\nChange-Id: Iae0f308c602504226c1e044ebdd0fb574ab50903\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3528670\nReviewed-by: Leandro Lovisolo \u003clovisolo@google.com\u003e\nOpen-Source-Licensing: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nAutosubmit: Mike Frysinger \u003cvapier@google.com\u003e\n"
    },
    {
      "commit": "d480cf2500a8842b4ef64b931acfd4ddc2f04ecf",
      "tree": "d14951f7d45c8c40a585509aca2a593830c1239b",
      "parents": [
        "f485d175b804334112409240d77a9d1821420a95",
        "dfda9bcf07fbab25efe44fe603f6ebe9ed643ea7"
      ],
      "author": {
        "name": "Wei Li",
        "email": "weiwli@google.com",
        "time": "Mon Feb 24 19:06:40 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Feb 24 19:06:40 2025 -0800"
      },
      "message": "tools: cpplint: Add Android.bp to build cpplint as python_binary_host am: dfda9bcf07\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3491530\n\nChange-Id: I71de7d9ebb9f022836a1cda42858983ba5fba1d1\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "dfda9bcf07fbab25efe44fe603f6ebe9ed643ea7",
      "tree": "d14951f7d45c8c40a585509aca2a593830c1239b",
      "parents": [
        "9faea551668842451448a57230f0b4b6ba2b24b0"
      ],
      "author": {
        "name": "Wei Li",
        "email": "weiwli@google.com",
        "time": "Thu Feb 20 21:49:36 2025 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Feb 24 18:20:49 2025 -0800"
      },
      "message": "tools: cpplint: Add Android.bp to build cpplint as python_binary_host\n\nThis change adds an Android.bp file to tools/cpplint to build cpplint.py\nas a python_binary_host. This allows cpplint to be used as a prebuilt\ntool within the Android build system.\n\nBug: 396027786\nTest: m cpplint\nChange-Id: I5ae3aedfce2596db7eb4d7d41842d94fd3be21bf\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3491530\nReviewed-by: Ian Kasprzak \u003ciankaz@google.com\u003e\nLint: Ian Kasprzak \u003ciankaz@google.com\u003e\nReviewed-by: Mike Frysinger \u003cvapier@google.com\u003e\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\nOpen-Source-Licensing: Ian Kasprzak \u003ciankaz@google.com\u003e\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\n"
    },
    {
      "commit": "f485d175b804334112409240d77a9d1821420a95",
      "tree": "f9a03c342d1134bf7f0d5ad7cbb719f4b50450be",
      "parents": [
        "ee097dd8f56832a964b8702053aa55eb1821b47b",
        "9faea551668842451448a57230f0b4b6ba2b24b0"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Feb 20 09:23:17 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Feb 20 09:23:17 2025 -0800"
      },
      "message": "tools: cpplint: update to 2.0.0 release am: 9faea55166\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3499431\n\nChange-Id: Ie68e5b1d813da2e1e6b660891c7064c799c0bd48\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9faea551668842451448a57230f0b4b6ba2b24b0",
      "tree": "f9a03c342d1134bf7f0d5ad7cbb719f4b50450be",
      "parents": [
        "d16ab9c564d65054a6fca48f2e6ad9a166b6760f"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Feb 14 10:36:02 2025 -0500"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Feb 20 08:58:37 2025 -0800"
      },
      "message": "tools: cpplint: update to 2.0.0 release\n\nBug: None\nTest: cd .../art \u0026\u0026 parallel ../tools/repohooks/tools/cpplint.py --quiet -- `find -name \u0027*.cc\u0027 -o -name \u0027*.h\u0027`\nChange-Id: I3223f056dc505348853b7dde5f081a1a701d6258\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3499431\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nAutosubmit: Mike Frysinger \u003cvapier@google.com\u003e\nOpen-Source-Licensing: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nReviewed-by: Raul Rangel \u003crrangel@google.com\u003e\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "ee097dd8f56832a964b8702053aa55eb1821b47b",
      "tree": "4b24177578c85fb04b8a12b75ef7403413631745",
      "parents": [
        "d66a5532ff965c1b4f4aba6b9376b85253590bc4",
        "d16ab9c564d65054a6fca48f2e6ad9a166b6760f"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Feb 14 08:03:23 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Feb 14 08:03:23 2025 -0800"
      },
      "message": "tools: cpplint: update to 1.6.1 release am: d16ab9c564\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3492414\n\nChange-Id: Id06ae13115183be4d7eab0054991c72e542fc267\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d16ab9c564d65054a6fca48f2e6ad9a166b6760f",
      "tree": "4b24177578c85fb04b8a12b75ef7403413631745",
      "parents": [
        "dbf440d5d97b6987258b2a69ed812584b4bc6cb6"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Feb 12 14:32:15 2025 -0500"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Feb 14 07:34:08 2025 -0800"
      },
      "message": "tools: cpplint: update to 1.6.1 release\n\nBug: None\nTest: `./cpplint.py-update` still works\nChange-Id: I32a4c713cc48d1e9900c9aa256f7a8535f05c48f\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3492414\nPresubmit-Ready: Mike Frysinger \u003cvapier@google.com\u003e\nOpen-Source-Licensing: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\nAutosubmit: Mike Frysinger \u003cvapier@google.com\u003e\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\nReviewed-by: Alex Klein \u003csaklein@google.com\u003e\n"
    },
    {
      "commit": "d66a5532ff965c1b4f4aba6b9376b85253590bc4",
      "tree": "e55b9bca1dad354fc3868a3148ef280eed396fe3",
      "parents": [
        "3ca9e11ff2700c0463da1f0bbfe41f1ad76ed559",
        "dbf440d5d97b6987258b2a69ed812584b4bc6cb6"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Feb 13 12:17:36 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Feb 13 12:17:36 2025 -0800"
      },
      "message": "tools: cpplint: add option to fetch specific version am: dbf440d5d9\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3494610\n\nChange-Id: I462417e55545218f47b007fb9f268ea7970d1177\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "dbf440d5d97b6987258b2a69ed812584b4bc6cb6",
      "tree": "e55b9bca1dad354fc3868a3148ef280eed396fe3",
      "parents": [
        "6c5c5dbd96faf447408a9e739683ad391229d297"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Feb 13 10:55:58 2025 -0500"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Feb 13 11:29:26 2025 -0800"
      },
      "message": "tools: cpplint: add option to fetch specific version\n\nThis makes it easier to update in small steps for testing.\n\nBug: None\nTest: `./tools/cpplint.py-update --rev 1.5.5` fetches version 1.5.5\nChange-Id: Ib277ecdbfaa3d03d5c2c19ff079a0326be73e30d\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3494610\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\nAutosubmit: Mike Frysinger \u003cvapier@google.com\u003e\nReviewed-by: Leandro Lovisolo \u003clovisolo@google.com\u003e\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\nOpen-Source-Licensing: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\n"
    },
    {
      "commit": "3ca9e11ff2700c0463da1f0bbfe41f1ad76ed559",
      "tree": "05d60269cdb31c1af9e384e867e0e9d95e6c7108",
      "parents": [
        "c7709a3e96623bebbbbf4f7144259db7d87ee07c",
        "6c5c5dbd96faf447408a9e739683ad391229d297"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Feb 12 19:42:14 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Feb 12 19:42:14 2025 -0800"
      },
      "message": "tools: cpplint.py-update: fetch latest release, not latest commit am: 6c5c5dbd96\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3492413\n\nChange-Id: Icd79bb91cc31f8474753e170b27fbf8af5faadc5\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "6c5c5dbd96faf447408a9e739683ad391229d297",
      "tree": "05d60269cdb31c1af9e384e867e0e9d95e6c7108",
      "parents": [
        "56d530aa56ff44e28a0cfe150d42567876d1e812"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Feb 12 14:31:16 2025 -0500"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Feb 12 19:11:11 2025 -0800"
      },
      "message": "tools: cpplint.py-update: fetch latest release, not latest commit\n\nSwitch to fetching the latest tagged release instead of the latest\ncommit of the development branch.  Hopefully this will make it a\nbit easier to keep track wrt upstream when reporting issues.\n\nBug: None\nTest: `./cpplint.py-update` still works\nChange-Id: Ia351b747d9a1dc3977c18c4544265014dbb41c92\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3492413\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nReviewed-by: Alex Klein \u003csaklein@google.com\u003e\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\nAutosubmit: Mike Frysinger \u003cvapier@google.com\u003e\nOpen-Source-Licensing: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\n"
    },
    {
      "commit": "c7709a3e96623bebbbbf4f7144259db7d87ee07c",
      "tree": "04ece017d0bc771202d0b8f62fab623d57eddaac",
      "parents": [
        "3c9eb0f8322ca1c1bd0f23c91757e4ef2afa2423",
        "56d530aa56ff44e28a0cfe150d42567876d1e812"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Feb 12 17:42:54 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Feb 12 17:42:54 2025 -0800"
      },
      "message": "README: document Python version policy am: 56d530aa56\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3491631\n\nChange-Id: I13fe5e2ec54763d6a5a057fe88e91da917862ff6\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "56d530aa56ff44e28a0cfe150d42567876d1e812",
      "tree": "04ece017d0bc771202d0b8f62fab623d57eddaac",
      "parents": [
        "37b0b6cf81a07f5b9c4f4affb789a2bce4932a09"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Feb 12 16:44:03 2025 -0500"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Feb 12 17:16:20 2025 -0800"
      },
      "message": "README: document Python version policy\n\nBug: None\nTest: None\nChange-Id: I68d12dcb73d3aa8f3c0c6f77cfe2b19970912d65\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3491631\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\nReviewed-by: Leandro Lovisolo \u003clovisolo@google.com\u003e\nAutosubmit: Mike Frysinger \u003cvapier@google.com\u003e\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\nOpen-Source-Licensing: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\n"
    },
    {
      "commit": "3c9eb0f8322ca1c1bd0f23c91757e4ef2afa2423",
      "tree": "8b4a104fdc3a460e43718fff4dfd4435655e87fa",
      "parents": [
        "4b38281b6c4ff7db21155921219fb2889f093a43",
        "37b0b6cf81a07f5b9c4f4affb789a2bce4932a09"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Feb 12 13:48:08 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Feb 12 13:48:08 2025 -0800"
      },
      "message": "tools: cpplint.py-update: rewrite in Python am: 37b0b6cf81\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3492412\n\nChange-Id: I794ae1c8a714b72f7d3c6446bc038cea4ec125f2\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "37b0b6cf81a07f5b9c4f4affb789a2bce4932a09",
      "tree": "8b4a104fdc3a460e43718fff4dfd4435655e87fa",
      "parents": [
        "353fd1070cc852729e68be5706809e4ebf75968e"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Feb 12 13:56:54 2025 -0500"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Feb 12 13:30:21 2025 -0800"
      },
      "message": "tools: cpplint.py-update: rewrite in Python\n\nBefore adding more functionality here, rewrite current shell code\ninto Python.\n\nBug: None\nTest: `./cpplint.py-update` still works\nChange-Id: I9276513582599afe79f7d116f754a2caae977ac6\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3492412\nReviewed-by: Leandro Lovisolo \u003clovisolo@google.com\u003e\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\nAutosubmit: Mike Frysinger \u003cvapier@google.com\u003e\n"
    },
    {
      "commit": "4b38281b6c4ff7db21155921219fb2889f093a43",
      "tree": "aae1bcd4bf88834a04e05d1178ac9fa480809e69",
      "parents": [
        "fd3ad735cf15d4f15a97332a09b208772d9992f2",
        "353fd1070cc852729e68be5706809e4ebf75968e"
      ],
      "author": {
        "name": "Li-Yu Yu",
        "email": "aaronyu@google.com",
        "time": "Fri Jan 03 10:57:05 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jan 03 10:57:05 2025 -0800"
      },
      "message": "Update check_commit_msg_bug_field style am: 353fd1070c\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3432026\n\nChange-Id: Ie6bd75d99ecb614dedefa520903f6ba002c1ad26\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "353fd1070cc852729e68be5706809e4ebf75968e",
      "tree": "aae1bcd4bf88834a04e05d1178ac9fa480809e69",
      "parents": [
        "2f34130ddfdb467d14ef26435b27065b062ca87a"
      ],
      "author": {
        "name": "Li-Yu Yu",
        "email": "aaronyu@google.com",
        "time": "Fri Jan 03 08:30:00 2025 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Jan 03 10:25:48 2025 -0800"
      },
      "message": "Update check_commit_msg_bug_field style\n\nOther hooks have `field \u003d \u0027...\u0027` in them.\nFor https://android-review.git.corp.google.com/c/platform/tools/repohooks/+/3295916/comment/e6779855_42bc8391/\n\nBug: 371923047\nTest: rh/hooks_unittest.py\nChange-Id: Ib8932f597df7f9988ac5c393c2845f5e5db3338d\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3432026\nReviewed-by: Mike Frysinger \u003cvapier@google.com\u003e\nAutosubmit: Li-Yu Yu \u003caaronyu@google.com\u003e\nOpen-Source-Licensing: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\n"
    },
    {
      "commit": "fd3ad735cf15d4f15a97332a09b208772d9992f2",
      "tree": "e22f181f7b3e04814b43b463157d4f369f1477bb",
      "parents": [
        "eafe0821f918d42ca1b3a16d27c92f51d98adec7",
        "2f34130ddfdb467d14ef26435b27065b062ca87a"
      ],
      "author": {
        "name": "Jeffery Miller",
        "email": "jefferymiller@google.com",
        "time": "Fri Dec 20 12:10:20 2024 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Dec 20 12:10:20 2024 -0800"
      },
      "message": "check_aosp_license: Fix argument parser am: 2f34130ddf\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3427922\n\nChange-Id: I00e161273201bb90743b8cfa9f02678b7b71c762\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "2f34130ddfdb467d14ef26435b27065b062ca87a",
      "tree": "e22f181f7b3e04814b43b463157d4f369f1477bb",
      "parents": [
        "4cbd776c7bf8541fa9dc4b361cb4df2588680e4b"
      ],
      "author": {
        "name": "Jeffery Miller",
        "email": "jefferymiller@google.com",
        "time": "Thu Dec 19 16:58:40 2024 -0600"
      },
      "committer": {
        "name": "Jeffery Miller",
        "email": "jefferymiller@google.com",
        "time": "Fri Dec 20 11:33:48 2024 -0800"
      },
      "message": "check_aosp_license: Fix argument parser\n\nFixes the error:\n```\n[FAILED] aosp_license hook\n    Traceback (most recent call last):\n      File \"/**/tools/repohooks/tools/check_aosp_license.py\", line 108, in \u003cmodule\u003e\n        sys.exit(main(sys.argv[1:]))\n                 ^^^^^^^^^^^^^^^^^^\n      File \"/**/tools/repohooks/tools/check_aosp_license.py\", line 93, in main\n        file_paths \u003d opts.file_paths\n                     ^^^^^^^^^^^^^^^\n    AttributeError: \u0027Namespace\u0027 object has no attribute \u0027file_paths\u0027\n```\n\nBug: 385205945\nTest: repo upload -n with the aosp_license check on\n\nChange-Id: I906d50f78cd7a87544ef3fc805a94eca286c177a\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3427922\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nOpen-Source-Licensing: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\nReviewed-by: Mike Frysinger \u003cvapier@google.com\u003e\nReviewed-by: Jie Jiang \u003cjiejiang@google.com\u003e\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\n"
    },
    {
      "commit": "eafe0821f918d42ca1b3a16d27c92f51d98adec7",
      "tree": "d87487b3fecf2926a7c19b1691bca14708e63531",
      "parents": [
        "762f6c41e8d8a963a4d0e729a72b669747e57682",
        "4cbd776c7bf8541fa9dc4b361cb4df2588680e4b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Dec 19 18:36:34 2024 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Dec 19 18:36:34 2024 -0800"
      },
      "message": "pylint2: drop Python 2 support am: 4cbd776c7b\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3427939\n\nChange-Id: Iaa8c061b6073c1f78bfa6612e1b927ec9f5c9687\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "4cbd776c7bf8541fa9dc4b361cb4df2588680e4b",
      "tree": "d87487b3fecf2926a7c19b1691bca14708e63531",
      "parents": [
        "5b48cbe9c95fd039360451409dafdb3df7e35390"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Dec 18 11:20:36 2024 -0500"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Dec 19 17:49:20 2024 -0800"
      },
      "message": "pylint2: drop Python 2 support\n\nDistros aren\u0027t carrying Python 2 anymore, let alone pylint that works\nwith Python 2 code, so drop the pylint2 builtin.  This will let us\nupdate the pylint configs to assume newer versions.\n\nBug: 382098607\nTest: unittests\nChange-Id: Ic0d2a2c11b6d71bd07615924e84223b1f549d371\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3427939\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\nOpen-Source-Licensing: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nReviewed-by: Greg Edelston \u003cgredelston@google.com\u003e\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\n"
    },
    {
      "commit": "762f6c41e8d8a963a4d0e729a72b669747e57682",
      "tree": "ea6526c6894257495b322d571759d97159d2d15c",
      "parents": [
        "38938d8cdc5268f7146316b463281442a3621cab",
        "5b48cbe9c95fd039360451409dafdb3df7e35390"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Dec 18 10:40:44 2024 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 10:40:44 2024 -0800"
      },
      "message": "OWNERS: swap Sergey for Leandro am: 5b48cbe9c9\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3420705\n\nChange-Id: I29997bf7d0f5685a5517b5b958036731bc78bce4\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "38938d8cdc5268f7146316b463281442a3621cab",
      "tree": "f708da8ad20fa39282b6527bbad079da6c948128",
      "parents": [
        "16d54c4502f78ecbac47313fe07094f9f0077549",
        "f2f6ccac4bae632f00fb96881a6f59cad432d44c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Dec 18 10:40:33 2024 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 10:40:33 2024 -0800"
      },
      "message": "README: recommend --ignore-hooks instead of --no-verify am: f2f6ccac4b\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3420704\n\nChange-Id: Iba8371d3afda25657c2a8650f91ded1497a3cc0c\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "16d54c4502f78ecbac47313fe07094f9f0077549",
      "tree": "82320590a350feba1363b7ad4208ac25341e8360",
      "parents": [
        "a2ee81e02142d23f1a44a670a7eeaba4db83672d",
        "f5ed6141c7a28271ffd4cc99b4b1473e3986448b"
      ],
      "author": {
        "name": "Jie Jiang",
        "email": "jiejiang@chromium.org",
        "time": "Wed Dec 18 10:40:23 2024 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 10:40:23 2024 -0800"
      },
      "message": "repohooks: Fix style issues in aosp_license check am: f5ed6141c7\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3421719\n\nChange-Id: I953599e0824da60cbed29b7d63057e250d6e21d4\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "5b48cbe9c95fd039360451409dafdb3df7e35390",
      "tree": "ea6526c6894257495b322d571759d97159d2d15c",
      "parents": [
        "f2f6ccac4bae632f00fb96881a6f59cad432d44c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Dec 18 11:12:37 2024 -0500"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Dec 18 10:16:35 2024 -0800"
      },
      "message": "OWNERS: swap Sergey for Leandro\n\nBug: None\nTest: owners suggestions still works\nChange-Id: I15978c8d345c9689f7e97ab7c90fb1da9725cce9\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3420705\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nAutosubmit: Mike Frysinger \u003cvapier@google.com\u003e\nReviewed-by: Leandro Lovisolo \u003clovisolo@google.com\u003e\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\nOpen-Source-Licensing: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\n"
    },
    {
      "commit": "f2f6ccac4bae632f00fb96881a6f59cad432d44c",
      "tree": "f708da8ad20fa39282b6527bbad079da6c948128",
      "parents": [
        "f5ed6141c7a28271ffd4cc99b4b1473e3986448b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Dec 18 10:59:33 2024 -0500"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Dec 18 10:14:53 2024 -0800"
      },
      "message": "README: recommend --ignore-hooks instead of --no-verify\n\nPeople can probably still discover the latter on their own, but we\nshould be encouraging the former for better practices.\n\nBug: None\nTest: reviewed gitiles rendering\nChange-Id: Ic36e91ece6f20ea8349ea8b3abf457b0016a035e\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3420704\nOpen-Source-Licensing: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nReviewed-by: Tim Bain \u003ctbain@google.com\u003e\nAutosubmit: Mike Frysinger \u003cvapier@google.com\u003e\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\n"
    },
    {
      "commit": "f5ed6141c7a28271ffd4cc99b4b1473e3986448b",
      "tree": "82320590a350feba1363b7ad4208ac25341e8360",
      "parents": [
        "d7d4a5b1442dd99eff906232280d12bc5ef40dba"
      ],
      "author": {
        "name": "Jie Jiang",
        "email": "jiejiang@chromium.org",
        "time": "Wed Dec 18 21:01:19 2024 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Dec 18 10:02:05 2024 -0800"
      },
      "message": "repohooks: Fix style issues in aosp_license check\n\nFollow-up patch for the comments in https://r.android.com/c/3290124.\n\nBug: None\nTest: repo upload\nChange-Id: I1b5af10cb8bf2a9589f1b3baaa8abce5eb0c1d2b\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3421719\nReviewed-by: Mike Frysinger \u003cvapier@google.com\u003e\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\nOpen-Source-Licensing: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\nAutosubmit: Jie Jiang \u003cjiejiang@google.com\u003e\n"
    },
    {
      "commit": "a2ee81e02142d23f1a44a670a7eeaba4db83672d",
      "tree": "db940918e1ef87c5ceb1f15444ddeb9ab12aa765",
      "parents": [
        "3c3e968d4776bde0c775e3eec6c9228121bc0e05",
        "d7d4a5b1442dd99eff906232280d12bc5ef40dba"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Dec 18 08:37:13 2024 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 08:37:13 2024 -0800"
      },
      "message": "README: minor updates am: d7d4a5b144\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3422261\n\nChange-Id: I6c9ca97f0f566fc8761aa317bbda0f6d87c26431\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d7d4a5b1442dd99eff906232280d12bc5ef40dba",
      "tree": "db940918e1ef87c5ceb1f15444ddeb9ab12aa765",
      "parents": [
        "3c3e968d4776bde0c775e3eec6c9228121bc0e05"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Dec 18 10:59:10 2024 -0500"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Dec 18 08:16:24 2024 -0800"
      },
      "message": "README: minor updates\n\nFix styling and broken link.\n\nBug: None\nTest: reviewed gitiles rendering\nChange-Id: I29c376b988a00939af6952aaea690361cb805078\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3422261\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\nAutosubmit: Mike Frysinger \u003cvapier@google.com\u003e\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\nReviewed-by: Alex Klein \u003csaklein@google.com\u003e\nOpen-Source-Licensing: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\n"
    },
    {
      "commit": "3c3e968d4776bde0c775e3eec6c9228121bc0e05",
      "tree": "fd4fa3bbaa61bb32cd33a91e322669ee46764cd2",
      "parents": [
        "0772642b55dc5930755813e046e57ce4bd4b75f3",
        "17bc37e59b3c332a9740b97e01b239ffa309503f"
      ],
      "author": {
        "name": "Brian Ryner",
        "email": "bryner@google.com",
        "time": "Fri Dec 06 17:30:27 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Dec 06 17:30:27 2024 +0000"
      },
      "message": "Honor combine_stdout_stderr when the result is created from an exception. am: 17bc37e59b\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3391169\n\nChange-Id: I078f4ea91177ecaeafdba209434478d02e26ad61\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "17bc37e59b3c332a9740b97e01b239ffa309503f",
      "tree": "fd4fa3bbaa61bb32cd33a91e322669ee46764cd2",
      "parents": [
        "3a454edf20cf6687dc492bbe5907ae4eb2e02dee"
      ],
      "author": {
        "name": "Brian Ryner",
        "email": "bryner@google.com",
        "time": "Thu Dec 05 21:18:54 2024 +0000"
      },
      "committer": {
        "name": "Brian Ryner",
        "email": "bryner@google.com",
        "time": "Fri Dec 06 17:05:05 2024 +0000"
      },
      "message": "Honor combine_stdout_stderr when the result is created from an exception.\n\nRevert a workaround for rustfmt which should no longer be needed.\n\nTest: none\nBug: 379935631\nChange-Id: I22263ba77f34067bf6450faa45ae822a18519e2a\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3391169\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\nReviewed-by: Tim Bain \u003ctbain@google.com\u003e\nOpen-Source-Licensing: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\n"
    },
    {
      "commit": "0772642b55dc5930755813e046e57ce4bd4b75f3",
      "tree": "36a248979853b177beaa65be8f1be019a2661488",
      "parents": [
        "46ca0b82de2d5cbe67d6b57e4848c70752c99a20",
        "3a454edf20cf6687dc492bbe5907ae4eb2e02dee"
      ],
      "author": {
        "name": "Brian Ryner",
        "email": "bryner@google.com",
        "time": "Thu Dec 05 20:59:05 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Dec 05 20:59:05 2024 +0000"
      },
      "message": "Populate an error message if rustfmt fails with no output. am: 3a454edf20\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3380207\n\nChange-Id: I7b60c85d32bb7ee871781841ec84fd5c0eecb0b6\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "3a454edf20cf6687dc492bbe5907ae4eb2e02dee",
      "tree": "36a248979853b177beaa65be8f1be019a2661488",
      "parents": [
        "7278e0dc738d7771d59199433432d199432c9406"
      ],
      "author": {
        "name": "Brian Ryner",
        "email": "bryner@google.com",
        "time": "Wed Nov 27 19:45:33 2024 +0000"
      },
      "committer": {
        "name": "Brian Ryner",
        "email": "bryner@google.com",
        "time": "Thu Dec 05 20:28:15 2024 +0000"
      },
      "message": "Populate an error message if rustfmt fails with no output.\n\nThis will ensure that it still causes a hook failure.\n\nTest: none\nBug: 379935631\nChange-Id: I71ab774cecf80ed00fc4b8997845931c1e8721ae\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3380207\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\nReviewed-by: Tim Bain \u003ctbain@google.com\u003e\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\n"
    },
    {
      "commit": "46ca0b82de2d5cbe67d6b57e4848c70752c99a20",
      "tree": "fed39e7f2609e2f25946ad7469e4b8e00e41060d",
      "parents": [
        "ad6a7a24c3cf0d3033c0399b7e18b263681f1a72",
        "7278e0dc738d7771d59199433432d199432c9406"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Sat Nov 09 00:40:56 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Nov 09 00:40:56 2024 +0000"
      },
      "message": "repo hooks: run builtins hooks prior to custom am: 7278e0dc73\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3327620\n\nChange-Id: I8f91219b2e42a7a02219574abc6b0e25345425a8\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "7278e0dc738d7771d59199433432d199432c9406",
      "tree": "fed39e7f2609e2f25946ad7469e4b8e00e41060d",
      "parents": [
        "aad4d88f1b21f4618496f60c638d30914eade449"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Thu Oct 31 17:01:42 2024 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Sat Nov 09 00:23:14 2024 +0000"
      },
      "message": "repo hooks: run builtins hooks prior to custom\n\nall hooks are running concurrently and can access resources at the same\ntime (like git index lock)\nBy running the builtin on their own prior to running the custom hooks we\nguarantee a better support for builtin hooks.\n\nThis will increase the time it take to run the repo hooks but will allow\nconfiguration that are having conflicting tools to run (like checkstyle\nand clang-format)\n\nBug: 343776166\nTest: run formatter on packages/modules/Bluetooth with a chain that\n      modify native and java code\nChange-Id: I3d4689e0e82d9865ec80f6aa47dbc1ec2e52f4bd\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3327620\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nAutosubmit: William Escande \u003cwescande@google.com\u003e\nReviewed-by: Sam Saccone \u003csamccone@google.com\u003e\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\nOpen-Source-Licensing: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nReviewed-by: Josip Sokcevic \u003csokcevic@google.com\u003e\n"
    },
    {
      "commit": "ad6a7a24c3cf0d3033c0399b7e18b263681f1a72",
      "tree": "c61a1b1ebd54ce7c3e9b2b13db9d877240072e23",
      "parents": [
        "79d252e0029bba96c09fc0effd61bc991189fe8e",
        "aad4d88f1b21f4618496f60c638d30914eade449"
      ],
      "author": {
        "name": "Jie Jiang",
        "email": "jiejiang@google.com",
        "time": "Tue Oct 08 06:59:50 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Oct 08 06:59:50 2024 +0000"
      },
      "message": "repohooks: Include mk files in aosp_license check am: aad4d88f1b\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3296433\n\nChange-Id: I819bbf357d4526a64a6ad1835c62b27f3b3f62c1\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "aad4d88f1b21f4618496f60c638d30914eade449",
      "tree": "c61a1b1ebd54ce7c3e9b2b13db9d877240072e23",
      "parents": [
        "e745062e33c9c675adb6c58441859d32ec6bcbbf"
      ],
      "author": {
        "name": "Jie Jiang",
        "email": "jiejiang@google.com",
        "time": "Mon Oct 07 23:36:08 2024 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Oct 08 06:38:46 2024 +0000"
      },
      "message": "repohooks: Include mk files in aosp_license check\n\nBug: 370907797\nTest: ./hooks_unittest.py\nChange-Id: I9bdc7c9ac8e6680b27d56f066866ba35c0dc3d06\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3296433\nAutosubmit: Jie Jiang \u003cjiejiang@google.com\u003e\nReviewed-by: Tim Bain \u003ctbain@google.com\u003e\nOpen-Source-Licensing: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\n"
    },
    {
      "commit": "79d252e0029bba96c09fc0effd61bc991189fe8e",
      "tree": "56bc0944f1f38671975597a9dd5d5b046c044216",
      "parents": [
        "a3f3e59ff936b8c63a59f5a7dbd7c8732c453a73",
        "e745062e33c9c675adb6c58441859d32ec6bcbbf"
      ],
      "author": {
        "name": "Li-Yu Yu",
        "email": "aaronyu@google.com",
        "time": "Mon Oct 07 19:29:39 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Oct 07 19:29:39 2024 +0000"
      },
      "message": "Accept \"Fix: \" as a bug line am: e745062e33\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3295916\n\nChange-Id: I9507260024ec8a1acc27c4a1b519a85d4d054061\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e745062e33c9c675adb6c58441859d32ec6bcbbf",
      "tree": "56bc0944f1f38671975597a9dd5d5b046c044216",
      "parents": [
        "2036f4659ac04ac8cc73bda58aad214bf6888898"
      ],
      "author": {
        "name": "Li-Yu Yu",
        "email": "aaronyu@google.com",
        "time": "Mon Oct 07 08:51:45 2024 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Oct 07 19:17:52 2024 +0000"
      },
      "message": "Accept \"Fix: \" as a bug line\n\nIt\u0027s accepted by gitwatcher and ayeaye.\n\nFix: 371923047\nTest: This CL passes the hook\nChange-Id: Ifd0a5f1a7988e47fe279c58b5e27e0f094dd2a87\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3295916\nOpen-Source-Licensing: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\nReviewed-by: Tim Bain \u003ctbain@google.com\u003e\nAutosubmit: Li-Yu Yu \u003caaronyu@google.com\u003e\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a3f3e59ff936b8c63a59f5a7dbd7c8732c453a73",
      "tree": "c51e1afb9a97dc76665ded2837f7ef391183eaa3",
      "parents": [
        "109ea66d0a301bb9b342fd3f56c8537dd66d8d86",
        "2036f4659ac04ac8cc73bda58aad214bf6888898"
      ],
      "author": {
        "name": "Jie Jiang",
        "email": "jiejiang@google.com",
        "time": "Thu Oct 03 18:11:59 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Oct 03 18:11:59 2024 +0000"
      },
      "message": "repohooks: Support --exclude-dirs in aosp_license am: 2036f4659a\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3290184\n\nChange-Id: I69d4a783b30d3a27e670e9b3ebee458669bc1e39\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "2036f4659ac04ac8cc73bda58aad214bf6888898",
      "tree": "c51e1afb9a97dc76665ded2837f7ef391183eaa3",
      "parents": [
        "82ba8f2745247f78b568b99845a886f7d0bb0899"
      ],
      "author": {
        "name": "Jie Jiang",
        "email": "jiejiang@google.com",
        "time": "Fri Oct 04 01:12:45 2024 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Oct 03 17:53:50 2024 +0000"
      },
      "message": "repohooks: Support --exclude-dirs in aosp_license\n\nSo that the project can exclude some dirs for this check. Example usage:\n\n```\n[Builtin Hooks Options]\naosp_license \u003d --exclude-dirs\u003dpath1,path2\n```\n\nBug: 370907797\nTest: Manually verified with the above example.\nChange-Id: I09ecf39e0919697fcb29c9c095148696ef317f21\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3290184\nAutosubmit: Jie Jiang \u003cjiejiang@google.com\u003e\nReviewed-by: Tim Bain \u003ctbain@google.com\u003e\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\n"
    },
    {
      "commit": "109ea66d0a301bb9b342fd3f56c8537dd66d8d86",
      "tree": "ba5c41e988a88691608cbe24d16af464b9843df4",
      "parents": [
        "4792680e0a07f98f726b07451cfff961156f23d5",
        "82ba8f2745247f78b568b99845a886f7d0bb0899"
      ],
      "author": {
        "name": "Jie Jiang",
        "email": "jiejiang@google.com",
        "time": "Thu Oct 03 01:45:29 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Oct 03 01:45:29 2024 +0000"
      },
      "message": "repohooks: Add AOSP license check am: 82ba8f2745\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3290124\n\nChange-Id: I871f841838454547f6454ca164f66c7ad8550e58\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "82ba8f2745247f78b568b99845a886f7d0bb0899",
      "tree": "ba5c41e988a88691608cbe24d16af464b9843df4",
      "parents": [
        "4792680e0a07f98f726b07451cfff961156f23d5"
      ],
      "author": {
        "name": "Jie Jiang",
        "email": "jiejiang@google.com",
        "time": "Wed Oct 02 21:55:26 2024 +0900"
      },
      "committer": {
        "name": "Jie Jiang",
        "email": "jiejiang@google.com",
        "time": "Thu Oct 03 01:20:34 2024 +0000"
      },
      "message": "repohooks: Add AOSP license check\n\nCheck if the new added files in the commits for upload have the\npredefined license in https://source.android.com/source/licenses.html.\n\nBug: 370907797\nFlag: EXEMPT desktop only\nTest: Enabled the check in a repo and manually run `repo upload . -n`,\n  the output is expected.\nChange-Id: I7d0609401c7e2bc1a4e571335778377479e2269b\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3290124\nOpen-Source-Licensing: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nAutosubmit: Jie Jiang \u003cjiejiang@google.com\u003e\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\nReviewed-by: Tim Bain \u003ctbain@google.com\u003e\n"
    },
    {
      "commit": "4792680e0a07f98f726b07451cfff961156f23d5",
      "tree": "77b393a9dc943b45f36d296db855efc40f245c48",
      "parents": [
        "f635542d91b562b09dc62e23afe07d00408eaac2",
        "995f35c7633c07f6bd3c8daf43aa89ce09f05878"
      ],
      "author": {
        "name": "Gavin Mak",
        "email": "gavinmak@google.com",
        "time": "Mon Aug 19 21:28:38 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Aug 19 21:28:38 2024 +0000"
      },
      "message": "pylint: fix infinite loop in map_pyfiles_to_pylintrc am: 995f35c763\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3229582\n\nChange-Id: Ib7852e78de8510518e772e7258e1b0c589f4b902\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "995f35c7633c07f6bd3c8daf43aa89ce09f05878",
      "tree": "77b393a9dc943b45f36d296db855efc40f245c48",
      "parents": [
        "e22fc7f6ed4b6d67a8f1ab0c2437ecaf62e9c60b"
      ],
      "author": {
        "name": "Gavin Mak",
        "email": "gavinmak@google.com",
        "time": "Mon Aug 19 17:57:16 2024 +0000"
      },
      "committer": {
        "name": "Gavin Mak",
        "email": "gavinmak@google.com",
        "time": "Mon Aug 19 21:14:32 2024 +0000"
      },
      "message": "pylint: fix infinite loop in map_pyfiles_to_pylintrc\n\nThe while loop in `find_parent_dirs_with_pylintrc` tries to go up\nparent directories until it finds pylintrc. If that file doesn\u0027t\nexist, the loop keeps appending os.pardir to the search path. The\npath never gets resolved and can\u0027t exit the loop.\n\nBug: 360445027\nChange-Id: I74adad0a69bb7ebe4ffd3640fb51d85a013f324b\nReviewed-on: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3229582\nReviewed-by: Tim Bain \u003ctbain@google.com\u003e\nLint: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nOpen-Source-Licensing: Lint 🤖 \u003cayeaye-gerrit@google.com\u003e\nPerformance: CrystalBall Performance Presubmit \u003candroid-crystalball-presubmit-eng@google.com\u003e\nPresubmit-Verified: Treehugger Robot \u003candroid-test-infra-workplan-finisher@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f635542d91b562b09dc62e23afe07d00408eaac2",
      "tree": "3246605297668b8eabe4a3a81c9802706d810d36",
      "parents": [
        "d74f800a79f959a413787f15eb60ecabdeed15a1",
        "e22fc7f6ed4b6d67a8f1ab0c2437ecaf62e9c60b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Jul 10 21:17:48 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 10 21:17:48 2024 +0000"
      },
      "message": "Merge \"pylint: support multiple pylintrc files per-repo\" into main am: e22fc7f6ed\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3099577\n\nChange-Id: I66566393815606500afaf864755372ca43b4aedb\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e22fc7f6ed4b6d67a8f1ab0c2437ecaf62e9c60b",
      "tree": "3246605297668b8eabe4a3a81c9802706d810d36",
      "parents": [
        "5aeee89765c6bb067747ae26a86a64f4c55430cb",
        "a20aaa71c61b51bbddf661a86dae696c1c431061"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Jul 10 20:51:16 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 10 20:51:16 2024 +0000"
      },
      "message": "Merge \"pylint: support multiple pylintrc files per-repo\" into main"
    },
    {
      "commit": "d74f800a79f959a413787f15eb60ecabdeed15a1",
      "tree": "3f26fbd7ce1a0746906191068a07ca358fd15752",
      "parents": [
        "a13662df6936bf49446cd96655a6d102e7d18eb4",
        "5aeee89765c6bb067747ae26a86a64f4c55430cb"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Jul 10 15:38:35 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 10 15:38:35 2024 +0000"
      },
      "message": "OWNERS: add more PEEPS folks am: 5aeee89765\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3164462\n\nChange-Id: Ifa537afc82d809f0017d167016c8795d77d31c37\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "5aeee89765c6bb067747ae26a86a64f4c55430cb",
      "tree": "3f26fbd7ce1a0746906191068a07ca358fd15752",
      "parents": [
        "9205ba4d0fb5f7141dcf9e4a0cdf17ceeed04f58"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Jul 09 19:31:08 2024 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Jul 09 19:32:31 2024 -0400"
      },
      "message": "OWNERS: add more PEEPS folks\n\nBug: None\nTest: None\nChange-Id: I5db87d884d585770e63663944d456a25407da918\n"
    },
    {
      "commit": "a13662df6936bf49446cd96655a6d102e7d18eb4",
      "tree": "f0e0af7763957db433bf24d067b470d28ea108ec",
      "parents": [
        "bad938c02e2c77ac7a3114594b8becb3d73cb93a",
        "9205ba4d0fb5f7141dcf9e4a0cdf17ceeed04f58"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Jul 09 16:39:41 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jul 09 16:39:41 2024 +0000"
      },
      "message": "Merge \"pylint: change default to Python 3\" into main am: 9205ba4d0f\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3103358\n\nChange-Id: Ic78d13ec2eed446abf27af66ca23a1f327c0da14\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9205ba4d0fb5f7141dcf9e4a0cdf17ceeed04f58",
      "tree": "f0e0af7763957db433bf24d067b470d28ea108ec",
      "parents": [
        "c2c8692c55a22d15d57ae05a226c731aca7cf3ba",
        "f87ff4570055a599666105670ead436c10500da3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Jul 09 16:24:34 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 09 16:24:34 2024 +0000"
      },
      "message": "Merge \"pylint: change default to Python 3\" into main"
    },
    {
      "commit": "a20aaa71c61b51bbddf661a86dae696c1c431061",
      "tree": "2a115af80427ed235f2d051202c1644866457f61",
      "parents": [
        "c2c8692c55a22d15d57ae05a226c731aca7cf3ba"
      ],
      "author": {
        "name": "Håkan Kvist",
        "email": "hakan.kvist@sony.com",
        "time": "Tue Mar 19 13:17:51 2024 +0100"
      },
      "committer": {
        "name": "Håkan Kvist",
        "email": "hakan.kvist@sony.com",
        "time": "Fri Jun 28 08:32:58 2024 +0200"
      },
      "message": "pylint: support multiple pylintrc files per-repo\n\nFor a python file, run pylint with the pylintrc file that is found\nin the same directory or in any parent directory in the repo.\nIf no matching pylintrc file can be found then fallback to default\npylintrc file.\n\nAny pylint options specified in PREUPLOAD.cfg will be applied to\nall pylint runs.\n\nBug: 342197112\nTest: add pylint trigger to platform/build git, modify python files\n    and confirm that pylint is executed with correct configuration\nChange-Id: I1bda8a491cff5b1f5cfd79b40969210cc417688e\n"
    },
    {
      "commit": "bad938c02e2c77ac7a3114594b8becb3d73cb93a",
      "tree": "dd6f5fdfdae32cbc8a47101815c1d931cc10736d",
      "parents": [
        "eee438b68bc9c55036016d681269ee8c261c94ff",
        "c2c8692c55a22d15d57ae05a226c731aca7cf3ba"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Mon Jun 17 23:27:37 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Jun 17 23:27:37 2024 +0000"
      },
      "message": "Merge \"google-java-format: remove sorting import argument\" into main am: c2c8692c55\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3112466\n\nChange-Id: I06fcaa0c85dd81851914781fe9e0318653d1c078\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "c2c8692c55a22d15d57ae05a226c731aca7cf3ba",
      "tree": "dd6f5fdfdae32cbc8a47101815c1d931cc10736d",
      "parents": [
        "eee438b68bc9c55036016d681269ee8c261c94ff",
        "1164fc0f6ba33d7c2442e579a0c8775471967abc"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Mon Jun 17 23:16:00 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 17 23:16:00 2024 +0000"
      },
      "message": "Merge \"google-java-format: remove sorting import argument\" into main"
    },
    {
      "commit": "eee438b68bc9c55036016d681269ee8c261c94ff",
      "tree": "634384146ccd8abc0fe54bae85af8d61e24dda43",
      "parents": [
        "27a406a3264ebd8151435568c0894b8c24c920f2",
        "6ca9412c1ba65e255924a403165d60949bfebd50"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Jun 06 14:24:01 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 06 14:24:01 2024 +0000"
      },
      "message": "Merge \"repohooks: pass through REPO_PROJECT\" into main am: 6ca9412c1b\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3093860\n\nChange-Id: Ida370937db0b18d2a185116c444ef54fb04e130f\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "6ca9412c1ba65e255924a403165d60949bfebd50",
      "tree": "634384146ccd8abc0fe54bae85af8d61e24dda43",
      "parents": [
        "3afcd28e561824bbe39f58dfc59f7a927e6bf927",
        "669d9839bcc5dcaffad72ccab65d0f2844661a9f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Jun 06 14:06:18 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 06 14:06:18 2024 +0000"
      },
      "message": "Merge \"repohooks: pass through REPO_PROJECT\" into main"
    },
    {
      "commit": "27a406a3264ebd8151435568c0894b8c24c920f2",
      "tree": "025156875cbad0e9d9ceeadc9736de3dbc8a7ec6",
      "parents": [
        "9e37d2eb35e97823896ac11a52b35c81a178b039",
        "3afcd28e561824bbe39f58dfc59f7a927e6bf927"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Thu Jun 06 00:10:49 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 06 00:10:49 2024 +0000"
      },
      "message": "google-java-format: Default to sorting import am: 3afcd28e56\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3110364\n\nChange-Id: I3741f4a65da7992776db1b9305a9a611c70e9b8e\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "1164fc0f6ba33d7c2442e579a0c8775471967abc",
      "tree": "2493e29275865d931746bef6a31912363fccfba6",
      "parents": [
        "3afcd28e561824bbe39f58dfc59f7a927e6bf927"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Tue Jun 04 08:24:25 2024 -0700"
      },
      "committer": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Tue Jun 04 08:24:25 2024 -0700"
      },
      "message": "google-java-format: remove sorting import argument\n\nBug: 344615661\nTest: None\nFlag: Exempt tooling\nChange-Id: I4f8beb26d022602266a6e0d62f195de32ac4c3ae\n"
    },
    {
      "commit": "3afcd28e561824bbe39f58dfc59f7a927e6bf927",
      "tree": "025156875cbad0e9d9ceeadc9736de3dbc8a7ec6",
      "parents": [
        "d98423a6d5eb673991cdc6bdc253a0de386b02a8"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Fri May 31 19:00:24 2024 -0700"
      },
      "committer": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Tue Jun 04 08:24:05 2024 -0700"
      },
      "message": "google-java-format: Default to sorting import\n\nHistorically, google-java-format was not sorting the import the same\nway as what Android style guide recommend.\nThis is fixed since 2019\n\nMoving the default to sort import by default\n\nCf:\nAndroid rules guide\nhttps://source.android.com/docs/setup/contribute/code-style#order-import-statements\n\nCommit in google-java-format to implement the android style\nhttps://github.com/google/google-java-format/pull/370/files\n\nBug: 344615661\nTest: None\nFlag: Exempt tooling\nChange-Id: I3694d029a6965b78a95a63eaefb187a51cfe151c\n"
    },
    {
      "commit": "669d9839bcc5dcaffad72ccab65d0f2844661a9f",
      "tree": "42347a4a03e3e687ab0af388c1de8071036fb739",
      "parents": [
        "e106ee3301113116bdc4e11cdb9af60ea946d12b"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Fri May 17 12:06:43 2024 +0200"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Tue Jun 04 12:04:45 2024 +0000"
      },
      "message": "repohooks: pass through REPO_PROJECT\n\nBug: 340801952\nTest: python rh/hooks_unittest.py\nChange-Id: I483aaf4b8458b915089cd436b3b5ef1edb30e448\n"
    },
    {
      "commit": "9e37d2eb35e97823896ac11a52b35c81a178b039",
      "tree": "6f5b5e4b57b1a5122fad56320c90a5f888098479",
      "parents": [
        "e106ee3301113116bdc4e11cdb9af60ea946d12b",
        "d98423a6d5eb673991cdc6bdc253a0de386b02a8"
      ],
      "author": {
        "name": "Joe Baker-Malone",
        "email": "jbakermalone@google.com",
        "time": "Fri May 24 20:38:11 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri May 24 20:38:11 2024 +0000"
      },
      "message": "Add --include-dirs for google-java-format am: d98423a6d5\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3102018\n\nChange-Id: Ie3e83df9ff2c2e5aaef65f870f361607b373c311\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f87ff4570055a599666105670ead436c10500da3",
      "tree": "cd6782b9dcf215fe944fca44751bfcc09793442e",
      "parents": [
        "e106ee3301113116bdc4e11cdb9af60ea946d12b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri May 24 14:02:37 2024 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri May 24 14:02:37 2024 -0400"
      },
      "message": "pylint: change default to Python 3\n\nNo one should be using Python 2 anywhere at this point.\n\nBug: None\nTest: unittests\nChange-Id: I158ca2abf4938c643f34dca0877391b71efd43db\n"
    },
    {
      "commit": "d98423a6d5eb673991cdc6bdc253a0de386b02a8",
      "tree": "6f5b5e4b57b1a5122fad56320c90a5f888098479",
      "parents": [
        "e106ee3301113116bdc4e11cdb9af60ea946d12b"
      ],
      "author": {
        "name": "Joe Baker-Malone",
        "email": "jbakermalone@google.com",
        "time": "Thu May 23 12:52:24 2024 -0700"
      },
      "committer": {
        "name": "Joe Baker-Malone",
        "email": "jbakermalone@google.com",
        "time": "Fri May 24 09:02:00 2024 -0700"
      },
      "message": "Add --include-dirs for google-java-format\n\nTest: updated\nBug: 342445502\nChange-Id: I984ec36b89d07bf8d193257cd0adf5fe71a365c1\n"
    },
    {
      "commit": "e106ee3301113116bdc4e11cdb9af60ea946d12b",
      "tree": "52cec87e70718b4efea41504bde845addb0022e3",
      "parents": [
        "4123f306f792142e148708b99e0d6484e05d3a92",
        "2976a4d245c1ad0887873f24d9ae7d2ca7939b57"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Jan 03 10:32:36 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jan 03 10:32:36 2024 +0000"
      },
      "message": "Merge \"hooks: bpfmt: display formatting diff on errors\" into main am: 2976a4d245\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/2621057\n\nChange-Id: I86ab7851460c8499a38a513df1cbb9131172d67f\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "2976a4d245c1ad0887873f24d9ae7d2ca7939b57",
      "tree": "52cec87e70718b4efea41504bde845addb0022e3",
      "parents": [
        "4123f306f792142e148708b99e0d6484e05d3a92",
        "e2217142cf18e5a894c94eefe120a22bb8b852db"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Jan 03 10:09:00 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 03 10:09:00 2024 +0000"
      },
      "message": "Merge \"hooks: bpfmt: display formatting diff on errors\" into main"
    }
  ],
  "next": "4123f306f792142e148708b99e0d6484e05d3a92"
}
