)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "4123f306f792142e148708b99e0d6484e05d3a92",
      "tree": "8f26ff335d180a6a5070cd0f348322205bf6472f",
      "parents": [
        "de862e9a69938db3e0cff71335151faffe4df07b",
        "99cf377b6de9b16e160fee796139d6f63d31b9ea"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Sep 27 20:47:41 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 27 20:47:41 2023 +0000"
      },
      "message": "pre-upload: fix internal_failure setting am: 99cf377b6d\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/2744953\n\nChange-Id: Icc891c4b1a88baffc6a4aa5194033b41c0e66b09\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "99cf377b6de9b16e160fee796139d6f63d31b9ea",
      "tree": "8f26ff335d180a6a5070cd0f348322205bf6472f",
      "parents": [
        "904ef5628355fefe262ea1cfc262cca2193bc120"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Sep 06 21:35:07 2023 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Sep 06 21:36:35 2023 -0400"
      },
      "message": "pre-upload: fix internal_failure setting\n\nThis is a named tuple, so we need to replace the value, not set it.\n\nBug: 299373007\nTest: None\nChange-Id: I86eb65c484878c11c2f02b6a0c6212943895f922\n"
    },
    {
      "commit": "de862e9a69938db3e0cff71335151faffe4df07b",
      "tree": "58727dc07d0dacf16eef568fc5d0cbaf9c9418a4",
      "parents": [
        "91326c434497257188ad8477ea5a2123409432c7",
        "904ef5628355fefe262ea1cfc262cca2193bc120"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Aug 17 21:24:32 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Aug 17 21:24:32 2023 +0000"
      },
      "message": "Merge \"results: filter out warnings from the \"is an error\" check\" into main am: 904ef56283\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/2713953\n\nChange-Id: Iaf5f1859d0e6a581d47a9aea9b2b793eedd94b1d\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "904ef5628355fefe262ea1cfc262cca2193bc120",
      "tree": "58727dc07d0dacf16eef568fc5d0cbaf9c9418a4",
      "parents": [
        "ed904c8a334a9320f87f6e1f17784c1e2ae2abd5",
        "2e88939ba611421a5c823f95734c56205e9db2a3"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Aug 17 19:59:04 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 17 19:59:04 2023 +0000"
      },
      "message": "Merge \"results: filter out warnings from the \"is an error\" check\" into main"
    },
    {
      "commit": "2e88939ba611421a5c823f95734c56205e9db2a3",
      "tree": "a60c8daaec470ac1cdd66a17c2128ce45a8d2580",
      "parents": [
        "338af8dede21fe6cfec1b6020ba2a8f5e4b354d7"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Aug 16 21:31:59 2023 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Aug 16 21:47:13 2023 -0400"
      },
      "message": "results: filter out warnings from the \"is an error\" check\n\nStop treating warnings as errors, and fix the reporting to run if\nthe result is a warning or an error.\n\nBug: 294133100\nTest: unittests\n\nChange-Id: Ic238b910a215ae5ec7c7c590299b2403b77c99d5\n"
    },
    {
      "commit": "91326c434497257188ad8477ea5a2123409432c7",
      "tree": "784d3febd6a03511e9575d0a2a4850eccc829495",
      "parents": [
        "1ff3e65257fd156c93835765e4a89f60c00e0f33",
        "ed904c8a334a9320f87f6e1f17784c1e2ae2abd5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Jul 16 03:02:37 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sun Jul 16 03:02:37 2023 +0000"
      },
      "message": "Merge \"check_commit_msg_relnote_field_format: Fix indent on commit message\" into main am: ed904c8a33\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/2651170\n\nChange-Id: I6a9b36bcc5dbdbc32c8644e7caa4d9187e53f4d6\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "ed904c8a334a9320f87f6e1f17784c1e2ae2abd5",
      "tree": "784d3febd6a03511e9575d0a2a4850eccc829495",
      "parents": [
        "6131d440859383618d6c2119008a535a720b90a0",
        "f48408ca1cf46c7f03257c2dc3d024ef8a13c673"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Jul 16 02:17:59 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Jul 16 02:17:59 2023 +0000"
      },
      "message": "Merge \"check_commit_msg_relnote_field_format: Fix indent on commit message\" into main"
    },
    {
      "commit": "f48408ca1cf46c7f03257c2dc3d024ef8a13c673",
      "tree": "b663aeb56ca431c90b8d422417b19fecd54e9d47",
      "parents": [
        "338af8dede21fe6cfec1b6020ba2a8f5e4b354d7"
      ],
      "author": {
        "name": "Natnael Belay",
        "email": "natnaelbelay@google.com",
        "time": "Mon Jul 10 20:33:34 2023 +0000"
      },
      "committer": {
        "name": "Natnael Belay",
        "email": "natnaelbelay@google.com",
        "time": "Fri Jul 14 18:22:54 2023 +0000"
      },
      "message": "check_commit_msg_relnote_field_format: Fix indent on commit message\n\nThe indent of the example message printed for a multiline commit\nis misleading. Simply following the error message would cause\n`repo upload` to fail since the subsequent lines are not indented.\n\nBug: 290051295\n\nChange-Id: I613b4b51f6ff3a4ab3cde034362344519341abf9\n"
    },
    {
      "commit": "1ff3e65257fd156c93835765e4a89f60c00e0f33",
      "tree": "b572984e3ffc12b0dbdcfd6a186b18dbb2ae2f3e",
      "parents": [
        "636f3d938cd1c520089778331173e4e0fcca9514",
        "6131d440859383618d6c2119008a535a720b90a0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Jul 12 18:28:16 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 12 18:28:16 2023 +0000"
      },
      "message": "Merge \"pre-upload: Ask user confirmation even for 1 hook\" into main am: 6131d44085\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/2654201\n\nChange-Id: If2a6dcb0563f32d51ca79791b1e4d22ef6b9952b\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "6131d440859383618d6c2119008a535a720b90a0",
      "tree": "b572984e3ffc12b0dbdcfd6a186b18dbb2ae2f3e",
      "parents": [
        "c13f6bfa45790548c43314db6e51ecc2b5999219",
        "b51e9906c090724203b931f6eafe4ac75d425b65"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Jul 12 17:51:41 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 12 17:51:41 2023 +0000"
      },
      "message": "Merge \"pre-upload: Ask user confirmation even for 1 hook\" into main"
    },
    {
      "commit": "636f3d938cd1c520089778331173e4e0fcca9514",
      "tree": "5fa922b7017e2cc5464ea02b0c8f5250db4f1195",
      "parents": [
        "5ee5135be0ad8f5276a8e8d5c179eee09dc41d08",
        "c13f6bfa45790548c43314db6e51ecc2b5999219"
      ],
      "author": {
        "name": "Devin Moore",
        "email": "devinmoore@google.com",
        "time": "Wed Jul 12 16:36:53 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 12 16:36:53 2023 +0000"
      },
      "message": "aidl_format: Fix `aidl_api` directory exception for aidl_format hook am: c13f6bfa45\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/2654235\n\nChange-Id: I64fde7f799265df3c702867032d89f9b2cf45c58\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "c13f6bfa45790548c43314db6e51ecc2b5999219",
      "tree": "5fa922b7017e2cc5464ea02b0c8f5250db4f1195",
      "parents": [
        "338af8dede21fe6cfec1b6020ba2a8f5e4b354d7"
      ],
      "author": {
        "name": "Devin Moore",
        "email": "devinmoore@google.com",
        "time": "Tue Jul 11 21:13:43 2023 +0000"
      },
      "committer": {
        "name": "Devin Moore",
        "email": "devinmoore@google.com",
        "time": "Wed Jul 12 15:58:25 2023 +0000"
      },
      "message": "aidl_format: Fix `aidl_api` directory exception for aidl_format hook\n\nIt wasn\u0027t matching files correctly when the `aidl_api` directory was at the base of the git repository. In those cases the file name shows up as `aidl_api/path/to/files` and doesn\u0027t have the path separator in front of `aidl_api/`.\n\nTest: upload aosp/2653183\nBug: None\nChange-Id: Id87a0111f76a46c8cc84a3af57d3cb1deeb54814\n"
    },
    {
      "commit": "b51e9906c090724203b931f6eafe4ac75d425b65",
      "tree": "e39fdd9dbf02c0da769ff5e93be280bcb5623766",
      "parents": [
        "338af8dede21fe6cfec1b6020ba2a8f5e4b354d7"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Wed Jul 12 08:40:23 2023 -0700"
      },
      "committer": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Wed Jul 12 08:40:23 2023 -0700"
      },
      "message": "pre-upload: Ask user confirmation even for 1 hook\n\nBy defaulting mode to \u0027some\u0027, the user will have a prompt confirmation\nbefore the hook being run.\nCurrently it is run silently by default\n\nBug: None\nTest: upload change with single hook to run\nChange-Id: Iacb7cb2b9b5d571ef10e61891545ceebfcf68a8e\n"
    },
    {
      "commit": "5ee5135be0ad8f5276a8e8d5c179eee09dc41d08",
      "tree": "352683ba9007342f2e9c9bfc5120c55e044de670",
      "parents": [
        "fb4456e8112d0f62397b3447a92eb2373acdc66f",
        "338af8dede21fe6cfec1b6020ba2a8f5e4b354d7"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Jul 06 22:54:13 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jul 06 22:54:13 2023 +0000"
      },
      "message": "pre-upload: allow user to run any/all of the fixups am: 338af8dede\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/2621055\n\nChange-Id: I987c446c1533f85d38d5fb39cbb50f0e7d929853\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "fb4456e8112d0f62397b3447a92eb2373acdc66f",
      "tree": "e2213b1a5118c58556a8fc2a9dd9920fdc7af5a7",
      "parents": [
        "fd588da10475fc9d76f99c1e698dffe18197f927",
        "1739927ab88a785317e8a7bdc05a66f5fe9d9b68"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Jul 06 06:51:37 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jul 06 06:51:37 2023 +0000"
      },
      "message": "pre-upload: show all possible fixup commands while running am: 1739927ab8\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/2621054\n\nChange-Id: I67c487401791efb38013fc29d3c2d0290d04f4d1\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "338af8dede21fe6cfec1b6020ba2a8f5e4b354d7",
      "tree": "352683ba9007342f2e9c9bfc5120c55e044de670",
      "parents": [
        "1739927ab88a785317e8a7bdc05a66f5fe9d9b68"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Jun 08 23:52:13 2023 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Jun 23 23:33:10 2023 -0400"
      },
      "message": "pre-upload: allow user to run any/all of the fixups\n\nNow that we accumulate \u0026 return all the hook results for all projects,\nwe can easily summarize \u0026 prompt the user whether they want to run any\nor all of them.  We still have the problem of some fixups might clash\n(e.g. if multiple commits introduce multiple errors), but there can be\nscenarios where the fixups don\u0027t clash.  We leave this decision to the\nuser so they can figure out what makes sense for their setup.\n\nBug: 274529930\nTest: unittests\nChange-Id: Ib6a42cf4fdb0165d9cae779cef7599ef604fbf59\n"
    },
    {
      "commit": "e2217142cf18e5a894c94eefe120a22bb8b852db",
      "tree": "08f6453d8b1ac4d39f7e72725e90b5f089ee4dee",
      "parents": [
        "c400921fda11c5c802b7d4890474e9ec5a7e579b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Jun 09 11:22:23 2023 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Jun 23 23:31:38 2023 -0400"
      },
      "message": "hooks: bpfmt: display formatting diff on errors\n\n`bpfmt -l` just shows \"\u003cstandard input\u003e\" when there\u0027s a formatting error\nwhich isn\u0027t super useful to users.  Switch to `bpfmt -d` to get an actual\ndiff of broken formatting.\n\nAlso hoist the definition of fixup_cmd outside the loop since it doesn\u0027t\nchange between runs anymore -- the set of files is passed via the results\nobject now.\n\nBug: 132785638\nTest: unittests\nChange-Id: I9d564ac4b7fd3801b73b5c6869a2529f337cc3f0\n"
    },
    {
      "commit": "1739927ab88a785317e8a7bdc05a66f5fe9d9b68",
      "tree": "e2213b1a5118c58556a8fc2a9dd9920fdc7af5a7",
      "parents": [
        "c400921fda11c5c802b7d4890474e9ec5a7e579b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Jun 08 23:47:39 2023 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Jun 23 23:16:33 2023 -0400"
      },
      "message": "pre-upload: show all possible fixup commands while running\n\nThis allows people to quickly run fixup commands themselves if they\nwant.  This is helpful as we only offer to run the command if there\nis one fixup in the latest commit.\n\nShow these as a summary at the end so hopefully it\u0027s a little easier\nfor users to access if they want to copy \u0026 paste the command.\n\nBug: 274529930\nTest: unittests\nChange-Id: I75b9c196a5369874fac94e822ec87e72f804cb9a\n"
    },
    {
      "commit": "fd588da10475fc9d76f99c1e698dffe18197f927",
      "tree": "0782cf225d1903fa9a3b90b941587c2eefbe4679",
      "parents": [
        "55ea71aa56a528bc07a3fb922f75a2f9ff960ddb",
        "c400921fda11c5c802b7d4890474e9ec5a7e579b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sat Jun 24 02:53:26 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Jun 24 02:53:26 2023 +0000"
      },
      "message": "pre-upload: run hooks in parallel using futures am: c400921fda\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/2636770\n\nChange-Id: I33b276034c7e33bbe697fe11453ef93814c55666\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "55ea71aa56a528bc07a3fb922f75a2f9ff960ddb",
      "tree": "4ecdf232719128e9f3f388d0fa545ad0571c51be",
      "parents": [
        "13cc37978b7d2e0a075a4c802cbada1037d43716",
        "4473f017130d829a6d067908b3331a3595133a25"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sat Jun 24 02:53:24 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Jun 24 02:53:24 2023 +0000"
      },
      "message": "pre-upload: flip hook progress output style am: 4473f01713\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/2636769\n\nChange-Id: I7a7a70192e5f2fa414d92352dceb03ff45d7ef55\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "13cc37978b7d2e0a075a4c802cbada1037d43716",
      "tree": "5b83239021d12e8021c81e765fe58e94a5326e5c",
      "parents": [
        "52613a9ca6a00be9137f5453da3ecbf845fb4bc7",
        "1fc51c305b4b77365b3119062332843956b1be77"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Jun 23 18:31:23 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jun 23 18:31:23 2023 +0000"
      },
      "message": "pre-upload: hoist exclusion logic earlier am: 1fc51c305b\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/2634960\n\nChange-Id: Iab5aefda34830c12b96b547c21b1edae31fd2e88\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "c400921fda11c5c802b7d4890474e9ec5a7e579b",
      "tree": "0782cf225d1903fa9a3b90b941587c2eefbe4679",
      "parents": [
        "4473f017130d829a6d067908b3331a3595133a25"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Jun 09 23:45:01 2023 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Jun 23 00:42:43 2023 -0400"
      },
      "message": "pre-upload: run hooks in parallel using futures\n\nRun all the hooks in parallel using Python futures.  In the repohooks\ntree with 12 commits, this cuts execution time from ~51 to ~31 secs.\nIn the libbrillo tree with 1 commit, it\u0027s still faster by a few\n10\u0027s of msec.  So this doesn\u0027t seem like it negatively impacts even\nsmall sets of commits, while larger chains are a huge improvement.\n\nBug: None\nTest: `./pre-upload.py` works and is faster\nChange-Id: I347e5bdcd6206a768219769c51a6ddbaefefa44e\n"
    },
    {
      "commit": "4473f017130d829a6d067908b3331a3595133a25",
      "tree": "4ecdf232719128e9f3f388d0fa545ad0571c51be",
      "parents": [
        "1fc51c305b4b77365b3119062332843956b1be77"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Jun 09 23:28:11 2023 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Jun 23 00:42:43 2023 -0400"
      },
      "message": "pre-upload: flip hook progress output style\n\nCurrently the hook status line shows how many hooks have been run,\nand what the current hook being executed is.  This is fine for a\nsingle-threaded model, but is confusing if we want to run hooks in\nparallel.  So flip the status to show all the running and pending\nhooks.  This is a bit more verbose, but it\u0027s the only way to really\nrepresent the work that is being done.\n\nIn practice, many of the hooks are very fast, so the long line will\ncollapse very quickly to something more manageable.  If the line is\ntoo long for the current terminal, we will chop it.\n\nOld:\n[RUNNING 2/13] hooks_unittest\nNew:\n[RUNNING 4/13] shell_unittest, config_unittest, utils_unittest, ...\n\nBug: None\nTest: `./pre-upload.py` output\nChange-Id: I280682c93ae4164adf210ba5d4a54867af377e85\n"
    },
    {
      "commit": "52613a9ca6a00be9137f5453da3ecbf845fb4bc7",
      "tree": "627f999a60719b977f31254448dd9b342450dbc9",
      "parents": [
        "5bc98c060ddc56fdbbe1691eed7fa8c5a61316e1",
        "e2a519ed6fdb51fd790cad792e72302e4ea2bccf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 22 18:57:29 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 22 18:57:29 2023 +0000"
      },
      "message": "Merge \"hooks: gofmt: fix argument handling\" am: e2a519ed6f\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/2621058\n\nChange-Id: I31c85fa5481a304bd4554405e934ddaaba0692b8\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "5bc98c060ddc56fdbbe1691eed7fa8c5a61316e1",
      "tree": "df45552228519740aa718de88862c83d854a9f94",
      "parents": [
        "e51cb4ea9754db409fa924210a2bd9fd510e4893",
        "b1f4a748ae42aadf971f23f402951266e1318eb4"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Jun 22 18:57:16 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 22 18:57:16 2023 +0000"
      },
      "message": "hooks: rustfmt: drop custom format suggestion am: b1f4a748ae\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/2621056\n\nChange-Id: If9aebb9652fa531f05aa5a5fd753eb3c6ed7311c\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "1fc51c305b4b77365b3119062332843956b1be77",
      "tree": "5b83239021d12e8021c81e765fe58e94a5326e5c",
      "parents": [
        "e2a519ed6fdb51fd790cad792e72302e4ea2bccf"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Jun 09 23:14:37 2023 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Jun 22 14:22:39 2023 -0400"
      },
      "message": "pre-upload: hoist exclusion logic earlier\n\nFilter the set of hooks as soon as we have all the info we need.\nIf all the hooks are filtered, we can exit sooner.  Otherwise,\npresent a more accurate summary to users as to how many hooks\nwe\u0027ll actually be running.\n\nSince we no longer need the scope in the main loop, switch to\nprocessing the NamedTuple directly so we don\u0027t have to unpack\nevery field in it.\n\nBug: 160223496\nTest: unittests\nChange-Id: I63d65a9034a6d4ca6d70b158ceab7c6f5861f326\n"
    },
    {
      "commit": "e2a519ed6fdb51fd790cad792e72302e4ea2bccf",
      "tree": "627f999a60719b977f31254448dd9b342450dbc9",
      "parents": [
        "b1f4a748ae42aadf971f23f402951266e1318eb4",
        "735b207c223c85523683ba099c9e56934c3ec492"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 22 18:18:00 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 22 18:18:00 2023 +0000"
      },
      "message": "Merge \"hooks: gofmt: fix argument handling\""
    },
    {
      "commit": "735b207c223c85523683ba099c9e56934c3ec492",
      "tree": "4a95d58a0de50bffe0cf717a501b997410b26e9c",
      "parents": [
        "e7cbdee8173cea8445374476e410f8935c3a957c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Jun 09 12:36:56 2023 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Jun 22 16:06:09 2023 +0000"
      },
      "message": "hooks: gofmt: fix argument handling\n\nSince gofmt iterates over the filtered set of files by hand, and\nreads it from the git commit to run through the formatter, we don\u0027t\nwant to expand the list of files into the base command.  If they\nend up there, gofmt will run on them as they exist on disk, not on\nthe content as they exist in the git commit.\n\nAlso make sure to pass the set of custom gofmt arguments to the\nfixup command so it gets run correctly.\n\nBug: 116112526\nTest: unittests\nChange-Id: I3615afa97817482c4e0482053fa308bed8c8d12b\n"
    },
    {
      "commit": "b1f4a748ae42aadf971f23f402951266e1318eb4",
      "tree": "df45552228519740aa718de88862c83d854a9f94",
      "parents": [
        "e7cbdee8173cea8445374476e410f8935c3a957c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Jun 09 00:12:41 2023 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Jun 22 16:04:09 2023 +0000"
      },
      "message": "hooks: rustfmt: drop custom format suggestion\n\nRely on the common framework to display \u0026 run fixup commands.\n\nBug: None\nTest: unittests\nChange-Id: I1242e0a9cf4bc160b0e20aed1bf16d606aa3ddc9\n"
    },
    {
      "commit": "e51cb4ea9754db409fa924210a2bd9fd510e4893",
      "tree": "ab19730d73d47e42087bec9ae4383abf305ac4cc",
      "parents": [
        "4821b38054bd785a835b3de359d1ed59e78fa6c5",
        "e7cbdee8173cea8445374476e410f8935c3a957c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Mon Jun 19 01:25:53 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Jun 19 01:25:53 2023 +0000"
      },
      "message": "results: refactor return values to include the full set of results am: e7cbdee817\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/2621052\n\nChange-Id: I9b1535a413ef7aa21c49cdcf879bd7db19318252\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "4821b38054bd785a835b3de359d1ed59e78fa6c5",
      "tree": "9138edbe6bf853c1961f0b8e0eeba459ce7a1e87",
      "parents": [
        "d9f88104bfaee146d378b4be7495a498b6cc3631",
        "c4291c3fb793a21c1f0046e40a97960ba4bd84dd"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Jun 15 19:59:32 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 15 19:59:32 2023 +0000"
      },
      "message": "utils: handle signal errors with threads am: c4291c3fb7\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/2621729\n\nChange-Id: I2fe971a4fe53c58a3ed04a88903e24261bcc6b66\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e7cbdee8173cea8445374476e410f8935c3a957c",
      "tree": "ab19730d73d47e42087bec9ae4383abf305ac4cc",
      "parents": [
        "c4291c3fb793a21c1f0046e40a97960ba4bd84dd"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Jun 08 23:20:44 2023 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Jun 15 15:20:33 2023 -0400"
      },
      "message": "results: refactor return values to include the full set of results\n\nRather than normalize everything into a bool early on, and then make\nit hard to keep track of results across projects, and force creation\nof a parallel structure to hold fixup commands, create a new results\nobject to hold everything and pass that back up the chain.\n\nFor now, this is just restructuring, and upload continues to behave\nthe same.  But this will make it much easier to change the UX.\n\nBug: None\nTest: unittests\nChange-Id: Idfa545f02f3d26a893d6cbbdef6d9a2409e72813\n"
    },
    {
      "commit": "d9f88104bfaee146d378b4be7495a498b6cc3631",
      "tree": "93e5405f5926588e7dd9663c7faa0e9af96be97b",
      "parents": [
        "3e3044f70fd5f798f26f20a91ba47b500e6775dc",
        "e669af6414ef37f30e6a27a50f80b77620c244df"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Jun 11 02:14:13 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sun Jun 11 02:14:13 2023 +0000"
      },
      "message": "Merge \"pre-upload: handle Ctrl+C when running directly\" am: e669af6414\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/2617576\n\nChange-Id: I203bee471f75c44ce1450599614920e72f1ccf1c\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "c4291c3fb793a21c1f0046e40a97960ba4bd84dd",
      "tree": "9138edbe6bf853c1961f0b8e0eeba459ce7a1e87",
      "parents": [
        "e669af6414ef37f30e6a27a50f80b77620c244df"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Jun 09 22:13:36 2023 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sat Jun 10 22:02:29 2023 -0400"
      },
      "message": "utils: handle signal errors with threads\n\nWe might not be able to rebind signals if we\u0027re running in a thread,\nso ignore ValueError when setting the handler.\n\nBug: None\nTest: unittests\nChange-Id: I81a222bf00ff433c8570bb7058871817f15da003\n"
    }
  ],
  "next": "e669af6414ef37f30e6a27a50f80b77620c244df"
}
