php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Return to Bug #74276
Patch android11-qpr1-c-release.json revision 2021-07-18 13:44 UTC by damianss640 at gmail dot com
Patch Hello revision 2017-03-20 13:26 UTC by test123 at gmail dot com

Patch android11-qpr1-c-release.json for I18N and L10N related Bug #74276

Patch version 2021-07-18 13:44 UTC

Return to Bug #74276 | Download this patch
This patch renders other patches obsolete

Obsolete patches:

Patch Revisions:

Developer: damianss640@gmail.com

)]}'
{
  "log": [
    {
      "commit": "eb433868757764e154d396d3627417747db9a743",
      "tree": "0979344bbadbb4084f6053c5dd3f798fc20f82de",
      "parents": [
        "9fed6d949cc19977ea51abd67579702cc59244da",
        "573d316aa2a01cb56c8c707f7fc655e6ecc1db2a"
      ],
      "author": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Thu Sep 17 09:28:35 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Sep 17 09:28:35 2020 +0000"
      },
      "message": "hooks: support Python 3.6 for ExclusionScope am: 573d316aa2\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1428528\n\nChange-Id: Ie5f6a45ff10bffed2d6e1a2da1115cb2a8202c3a\n"
    },
    {
      "commit": "573d316aa2a01cb56c8c707f7fc655e6ecc1db2a",
      "tree": "0979344bbadbb4084f6053c5dd3f798fc20f82de",
      "parents": [
        "5be91ca1c2f1195f6123d5eda3228a5b9798478d"
      ],
      "author": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Wed Sep 16 14:51:36 2020 +0200"
      },
      "committer": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Wed Sep 16 15:54:44 2020 +0200"
      },
      "message": "hooks: support Python 3.6 for ExclusionScope\n\nre.Pattern was only introduced in Python 3.7.\n\nTest: ./pre-upload\nBug: 168593718\nChange-Id: I9dc685a8d1863808d9c475539a8f1fdbd96474d0\n"
    },
    {
      "commit": "9fed6d949cc19977ea51abd67579702cc59244da",
      "tree": "f77cf3e74950fc563436e9afe7fbfb62b16af446",
      "parents": [
        "09cc9a71c6836e421a6d40f4df52d2ce5a66a496",
        "5be91ca1c2f1195f6123d5eda3228a5b9798478d"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Sep 09 17:42:09 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 09 17:42:09 2020 +0000"
      },
      "message": "tools: switch all our tools to python3 shebang am: 5be91ca1c2\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1422908\n\nChange-Id: I92a7234bfbfd5076856a51ccca953aa6889c4611\n"
    },
    {
      "commit": "5be91ca1c2f1195f6123d5eda3228a5b9798478d",
      "tree": "f77cf3e74950fc563436e9afe7fbfb62b16af446",
      "parents": [
        "09cc9a71c6836e421a6d40f4df52d2ce5a66a496"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Jul 15 00:51:48 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Sep 09 05:03:11 2020 -0400"
      },
      "message": "tools: switch all our tools to python3 shebang\n\nWe did this for pylint already, so switch the rest too.\n\nBug: None\nTest: running each tool with --help works\nChange-Id: I0c6156cbcfabf2ebb7874cbb8a52059b1a88dfcc\n"
    },
    {
      "commit": "09cc9a71c6836e421a6d40f4df52d2ce5a66a496",
      "tree": "0852ecbad1de5d67e995649834a5e149a2e9354a",
      "parents": [
        "5e2fb9aa23ecc7265773ee69a0d20830f52b81c9",
        "ea52820de83a77d6f546d3dce682c616ada62950"
      ],
      "author": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Tue Sep 08 11:48:06 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 08 11:48:06 2020 +0000"
      },
      "message": "Add [Builtin Hooks Exclude Paths] section am: ea52820de8\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1395027\n\nChange-Id: Ia33c2a2caf6d02259fb3b393157a08d7e5e64a3f\n"
    },
    {
      "commit": "ea52820de83a77d6f546d3dce682c616ada62950",
      "tree": "0852ecbad1de5d67e995649834a5e149a2e9354a",
      "parents": [
        "ec4cdcbeeef38a2da66e60ad5eb50af95366c425"
      ],
      "author": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Fri Aug 28 15:54:29 2020 +0200"
      },
      "committer": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Wed Sep 02 13:55:33 2020 +0200"
      },
      "message": "Add [Builtin Hooks Exclude Paths] section\n\nThere is currently no convenient option to enable a hook globally if\nsome projects will fail the processing. The recommended setup is to\nenable the hook within each project\u0027s repository (using PREUPLOAD.cfg).\nThis creates inconsistencies for large codebase. Adds a new\nconfiguration section to explicitly exclude some projects during the\nprocessing of a hook.\n\nThe intent of this change is to enable rustfmt globally in AOSP,\nexcept for some paths (e.g. external/, vendor/).\n\nTest: Modified GLOBAL-PREUPLOAD.cfg to enable the new option,\n  manually creates changes and review output of pre-upload.py\nBug: 160223496\nChange-Id: I94dbbf0ce2e6b58c4d4b4fc89c56a2a87543d878\n"
    },
    {
      "commit": "5e2fb9aa23ecc7265773ee69a0d20830f52b81c9",
      "tree": "1aee06c1a71aeed0aa2a3d9f14541ee14e442725",
      "parents": [
        "615f08ee34ad7db309ed6a19124010a78c86cc08",
        "ec4cdcbeeef38a2da66e60ad5eb50af95366c425"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Sep 02 10:45:22 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 02 10:45:22 2020 +0000"
      },
      "message": "drop python2 testing entirely am: ec4cdcbeee\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1417624\n\nChange-Id: I80c4a873c4e87b9936104d94e6723a72b3649341\n"
    },
    {
      "commit": "ec4cdcbeeef38a2da66e60ad5eb50af95366c425",
      "tree": "1aee06c1a71aeed0aa2a3d9f14541ee14e442725",
      "parents": [
        "324296b1108e62440c43a45320b69c329ee0df31"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Jul 15 00:51:02 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Sep 02 03:02:39 2020 -0400"
      },
      "message": "drop python2 testing entirely\n\nNo point in linting or testing when the code forces Python 3.6+.\n\nBug: None\nTest: `repo upload` still works\nChange-Id: I5af19b5dc70be3f5be99157d1fc4287e4437c553\n"
    },
    {
      "commit": "615f08ee34ad7db309ed6a19124010a78c86cc08",
      "tree": "3b024ccdaf14d6d09a6107ae52fa825e7057205c",
      "parents": [
        "bbd6c03fa05b6950fcbb87635b9f21ad3e2c0946",
        "324296b1108e62440c43a45320b69c329ee0df31"
      ],
      "author": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Tue Sep 01 14:54:03 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 01 14:54:03 2020 +0000"
      },
      "message": "config: refactor PreUploadSettingsTests am: 324296b110\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1413981\n\nChange-Id: I929668c32fb13fa260cd12562f00b026fdff3d52\n"
    },
    {
      "commit": "bbd6c03fa05b6950fcbb87635b9f21ad3e2c0946",
      "tree": "33fd89c4413e02f5b12d92c8c390690c8bb178b9",
      "parents": [
        "24a38ce5e7368039d36fc39f5c39468396974e2c",
        "c9ba009aab3783cca8a71389de6ec2701c916b5e"
      ],
      "author": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Tue Sep 01 14:54:01 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 01 14:54:01 2020 +0000"
      },
      "message": "config: add {Local,Global}PreUploadFile classes am: c9ba009aab\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1413980\n\nChange-Id: Ie264829e1cbf047d0bc6af3cc021d42f4a304dc4\n"
    },
    {
      "commit": "324296b1108e62440c43a45320b69c329ee0df31",
      "tree": "3b024ccdaf14d6d09a6107ae52fa825e7057205c",
      "parents": [
        "c9ba009aab3783cca8a71389de6ec2701c916b5e"
      ],
      "author": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Fri Aug 28 16:32:07 2020 +0200"
      },
      "committer": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Tue Sep 01 09:52:19 2020 +0200"
      },
      "message": "config: refactor PreUploadSettingsTests\n\nPreUploadFileTests and PreUploadSettingsTests share the same setup and\nteardown for writing configuration files. Extract that behaviour into a\nnew class (FileTestsBase).\n\nTest: pre-upload.py\nBug: 160223496\nChange-Id: I8b572cdb0f43ae4557323a43a69e66ead67d87fe\n"
    },
    {
      "commit": "c9ba009aab3783cca8a71389de6ec2701c916b5e",
      "tree": "33fd89c4413e02f5b12d92c8c390690c8bb178b9",
      "parents": [
        "7698778fb0f02c517ca0ffe6f85f80991e49e4a3"
      ],
      "author": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Fri Aug 28 14:58:45 2020 +0200"
      },
      "committer": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Tue Sep 01 09:52:13 2020 +0200"
      },
      "message": "config: add {Local,Global}PreUploadFile classes\n\nCreates 2 new classes to differentiate local (PREUPLOAD.cfg) and global\n(GLOBAL-PREUPLOAD.cfg) files. While not useful yet, this allows to\nimplement validation that is specific to local files.\n\nIdeally, PreUploadFile would be declared as @abstractclass but the\nsupport for py2/py3 makes this constraint tedious to implement.\n\nTest: pre-upload.py\nBug: 160223496\nChange-Id: I75e0e644f713002f1ba50a405965362c1c5a7589\n"
    },
    {
      "commit": "24a38ce5e7368039d36fc39f5c39468396974e2c",
      "tree": "7353b4f2e2170f3a9543ae5063bd6385d3b551ce",
      "parents": [
        "0569f18a26d4831ee75827b379fe90c3df9de097",
        "7698778fb0f02c517ca0ffe6f85f80991e49e4a3"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Mon Aug 31 17:12:27 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Aug 31 17:12:27 2020 +0000"
      },
      "message": "pre-upload: drop support for Python 2 am: 7698778fb0\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1373921\n\nChange-Id: I2f0e1d3939e10be0763b24ecc0b14118c1be048e\n"
    },
    {
      "commit": "7698778fb0f02c517ca0ffe6f85f80991e49e4a3",
      "tree": "7353b4f2e2170f3a9543ae5063bd6385d3b551ce",
      "parents": [
        "1baec120bf1814fca307928fd6e62982875a3951"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Jul 15 00:45:14 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Mon Aug 31 11:07:52 2020 -0400"
      },
      "message": "pre-upload: drop support for Python 2\n\nRepo itself has been warning about Python 2 support for over a year,\nwhile pre-uplooad has been warning for about a month.\n\nWe don\u0027t actually rip out any code (yet) to make sure this sticks in\ncase we have to revert things temporarily.\n\nBug: None\nTest: `repo upload` still works w/Python 3.6\nChange-Id: Ia00bc3c9a59b0e6828df2691f47c6da94adb8038\n"
    },
    {
      "commit": "0569f18a26d4831ee75827b379fe90c3df9de097",
      "tree": "75e5732797727ad13c7b95d04e832f171fdd4dc6",
      "parents": [
        "425db52f349d233f4501180c8949bd6ba9f20b92",
        "1baec120bf1814fca307928fd6e62982875a3951"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Aug 27 22:36:21 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Aug 27 22:36:21 2020 +0000"
      },
      "message": "config: refactor file management am: 1baec120bf\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1409412\n\nChange-Id: Id7ed769c4436ae3d316ad046d1c181fd316f60b3\n"
    },
    {
      "commit": "1baec120bf1814fca307928fd6e62982875a3951",
      "tree": "75e5732797727ad13c7b95d04e832f171fdd4dc6",
      "parents": [
        "41a1fd1aac95a1037bfb58dc4bba99854272909c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Aug 25 00:27:52 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Aug 27 03:21:32 2020 -0400"
      },
      "message": "config: refactor file management\n\nThe existing config management started out with just one file, but\nhas grown to load \u0026 merge from multiple sources.  Refactor classes\nto better reflect this: one class to represent a single file, and\nanother to represent the union of them all.\n\nBy itself, this isn\u0027t interesting.  But it lays the groundwork to\nbe able to load config files from subdirs instead of only one file\nper project.\n\nBug: 160223496\nTest: Unittests pass\nChange-Id: I522b18fa8bc31f787c92cf95db7da4168007915e\n"
    },
    {
      "commit": "425db52f349d233f4501180c8949bd6ba9f20b92",
      "tree": "0565ed442f7b0da0e9e150d6cfa5c13f2acc799d",
      "parents": [
        "fd6d0e0b33455142503a39741c486ff26c6ba232",
        "41a1fd1aac95a1037bfb58dc4bba99854272909c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Aug 26 12:23:08 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Aug 26 12:23:08 2020 +0000"
      },
      "message": "config: add Python 3 compat APIs am: 41a1fd1aac\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1409411\n\nChange-Id: I20b225c3916994aabf677b5fdc86c5f5dbdae60f\n"
    },
    {
      "commit": "fd6d0e0b33455142503a39741c486ff26c6ba232",
      "tree": "791ba958fbe46162c22480b02609406efbd60a82",
      "parents": [
        "03fa555537fceb77c35ad6b2a10c4dcc84d4de21",
        "0d0796a3ea13cecf458b99578c7681321e225d5d"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Aug 25 20:16:18 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 25 20:16:18 2020 +0000"
      },
      "message": "config: fix handling of optional args am: 0d0796a3ea\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1409410\n\nChange-Id: Ie20fc9502b2683e80f3f172255a4275c2131cfbf\n"
    },
    {
      "commit": "03fa555537fceb77c35ad6b2a10c4dcc84d4de21",
      "tree": "9730bfa601c206740439dfee002a2d7f4171830a",
      "parents": [
        "a4350d0cc24b53d77b2cea9b8a9a2e2ff9e828f7",
        "3798d7e067b927a16dc9e47bc6af949f9a2f4e20"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Aug 25 16:32:29 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 25 16:32:29 2020 +0000"
      },
      "message": "config: pull valid sections into a class constant am: 3798d7e067\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1409409\n\nChange-Id: I17090f93848c0aaf47245df5a53ca3ce6aefc351\n"
    },
    {
      "commit": "41a1fd1aac95a1037bfb58dc4bba99854272909c",
      "tree": "0565ed442f7b0da0e9e150d6cfa5c13f2acc799d",
      "parents": [
        "0d0796a3ea13cecf458b99578c7681321e225d5d"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Aug 25 00:01:16 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Aug 25 03:22:21 2020 -0400"
      },
      "message": "config: add Python 3 compat APIs\n\nExtend the items API to be like Python 3 with an optional |section|,\nand add a read_dict API for Python 2 that matches Python 3.  We\u0027ll\nuse both of these in the next commit.\n\nBug: 160223496\nTest: Unittests pass\nChange-Id: I2b9cb987ae25f852f86427dccb18e10fe80a35da\n"
    },
    {
      "commit": "0d0796a3ea13cecf458b99578c7681321e225d5d",
      "tree": "791ba958fbe46162c22480b02609406efbd60a82",
      "parents": [
        "3798d7e067b927a16dc9e47bc6af949f9a2f4e20"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Mon Aug 24 23:37:22 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Aug 25 03:22:21 2020 -0400"
      },
      "message": "config: fix handling of optional args\n\nThe current logic only works for a single optional arg, and the counts\nare off by one atm (for reporting).  Rework the logic to simplify and\nso a follow up change is easier to extend.\n\nBug: 160223496\nTest: Unittests pass\nChange-Id: Ibcb9e159486620c9e69312ed47ba9063cf2477b9\n"
    },
    {
      "commit": "3798d7e067b927a16dc9e47bc6af949f9a2f4e20",
      "tree": "9730bfa601c206740439dfee002a2d7f4171830a",
      "parents": [
        "f773756405c17b50e2ab9a5e45a0ced873708947"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Mon Aug 24 18:24:39 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Aug 25 03:22:15 2020 -0400"
      },
      "message": "config: pull valid sections into a class constant\n\nThis matches the VALID_OPTIONS style, and will make follow up\nrefactors easier.\n\nBug: 160223496\nTest: Unittests pass\nChange-Id: I161e4b714a6faa3432588306e50ef02ab30763a2\n"
    },
    {
      "commit": "a4350d0cc24b53d77b2cea9b8a9a2e2ff9e828f7",
      "tree": "05ab9d99624ca6c7d6bb713de89fae7e170b6afb",
      "parents": [
        "4e726de5b66ba3d23cf4e51c244ced972236e380",
        "f773756405c17b50e2ab9a5e45a0ced873708947"
      ],
      "author": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Wed Aug 19 15:41:36 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Aug 19 15:41:36 2020 +0000"
      },
      "message": "hooks: rustfmt: handle multiple commits am: f773756405\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1399689\n\nChange-Id: Ib0b684b692726004efd8859569e3a3f513078498\n"
    },
    {
      "commit": "f773756405c17b50e2ab9a5e45a0ced873708947",
      "tree": "05ab9d99624ca6c7d6bb713de89fae7e170b6afb",
      "parents": [
        "8ee0f2a82668b9b0f58792b54eec36433d10076b"
      ],
      "author": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Fri Aug 14 08:10:20 2020 +0200"
      },
      "committer": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Wed Aug 19 13:40:04 2020 +0000"
      },
      "message": "hooks: rustfmt: handle multiple commits\n\nThe rustfmt hook was relying on ${PREUPLOAD_FILES} which is only correct\nwhen evaluating HEAD. Update the hook to parse the correct version of\nthe file.\n\nBefore 2.0, rustfmt does not support --check when passing the source via\nstdin. Handle this case by comparing the input with the output and\nreport a command to fix the issue to the user.\n\nBug: 164111102\nTest: Added multiples changes to system/security (typo and incorrect\n  indentation). Run pre-upload.py manually.\nChange-Id: Ibd1bfcb9e630f0b21abfb1e1feb1248fcddf2236\n"
    },
    {
      "commit": "4e726de5b66ba3d23cf4e51c244ced972236e380",
      "tree": "c1b71ad9b3a2ee71e33f081d98fb7b74b1d44105",
      "parents": [
        "17310693309dbf74f87fab1a5ecd64bbd6aaeac0",
        "8ee0f2a82668b9b0f58792b54eec36433d10076b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sat Aug 15 16:05:26 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Aug 15 16:05:26 2020 +0000"
      },
      "message": "hooks: use dedicated None asserts am: 8ee0f2a826\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1401348\n\nChange-Id: I5f8d55c2c1cdcca60971fa8d6acc5164b2c10fdb\n"
    },
    {
      "commit": "8ee0f2a82668b9b0f58792b54eec36433d10076b",
      "tree": "c1b71ad9b3a2ee71e33f081d98fb7b74b1d44105",
      "parents": [
        "7e07d8f6fd7a290a9fce80bb403efdf2d6ab592d"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Aug 14 18:13:08 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Aug 14 18:14:26 2020 -0400"
      },
      "message": "hooks: use dedicated None asserts\n\nThese provide better diagnostics \u0026 checking than Equal.\n\nBug: None\nTest: unittests still pass\nChange-Id: I0c34bc1dae6d32fa58cfe0c45414157b2363b1ee\n"
    },
    {
      "commit": "17310693309dbf74f87fab1a5ecd64bbd6aaeac0",
      "tree": "e62603da5c6854ec5a45a05a5b41340fc000ced4",
      "parents": [
        "7aa7d112dcc23ee6f65186afea737fe0b9c30ad8",
        "7e07d8f6fd7a290a9fce80bb403efdf2d6ab592d"
      ],
      "author": {
        "name": "Jonathan Nieder",
        "email": "jrn@google.com",
        "time": "Tue Aug 04 11:17:10 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 04 11:17:10 2020 +0000"
      },
      "message": "git: simplify commit message extraction command am: 7e07d8f6fd\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1383801\n\nChange-Id: Ie063537cd26e5e967160b4878cca3b4c87b7c0e0\n"
    },
    {
      "commit": "7aa7d112dcc23ee6f65186afea737fe0b9c30ad8",
      "tree": "b6b8349b371ead96af5eed4ca225469cdfe290f9",
      "parents": [
        "1a07824a1931021478891cf189f6ffb1b37f45a5",
        "ce8e83897bc09f64b0523328e61b86902aa015ef"
      ],
      "author": {
        "name": "Jonathan Nieder",
        "email": "jrn@google.com",
        "time": "Sun Aug 02 17:37:08 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sun Aug 02 17:37:08 2020 +0000"
      },
      "message": "pre-upload: use first-parent diff for list of affected files am: ce8e83897b\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1383803\n\nChange-Id: Ie176a524ce0a8c77a8b7900cbc4f949a2fc4519a\n"
    },
    {
      "commit": "1a07824a1931021478891cf189f6ffb1b37f45a5",
      "tree": "e0e71babed1be01ba080a6601546bfb0ce5eb649",
      "parents": [
        "b76ba4222fee3654614689994fc5716020b4779f",
        "2e1406dfa9a57fab579ba4862f679a407e6349ac"
      ],
      "author": {
        "name": "Jonathan Nieder",
        "email": "jrn@google.com",
        "time": "Sat Aug 01 15:02:17 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Aug 01 15:02:17 2020 +0000"
      },
      "message": "git: use \"git rev-list\" to get a revision listing am: 2e1406dfa9\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1383802\n\nChange-Id: Ie436d3aa297c3410246571f7fe7c6ce2bdf7b3e4\n"
    },
    {
      "commit": "7e07d8f6fd7a290a9fce80bb403efdf2d6ab592d",
      "tree": "e62603da5c6854ec5a45a05a5b41340fc000ced4",
      "parents": [
        "ce8e83897bc09f64b0523328e61b86902aa015ef"
      ],
      "author": {
        "name": "Jonathan Nieder",
        "email": "jrn@google.com",
        "time": "Fri Jul 31 13:59:13 2020 -0700"
      },
      "committer": {
        "name": "Jonathan Nieder",
        "email": "jrn@google.com",
        "time": "Fri Jul 31 18:14:14 2020 -0700"
      },
      "message": "git: simplify commit message extraction command\n\nInstead of using \"git log \u003ccommit\u003e^!\", which means \"perform a walk\nthat includes \u003ccommit\u003e and excludes its parents\", perform a\nnon-walking command.\n\nWe could use \"git log --no-walk \u003ccommit\u003e\" for this.  Instead, let\u0027s\nuse the lower-level \"git diff-tree\", to get into the habit of using\nplumbing commands that try to support scripting by behaving simply and\npredictably.\n\nNoticed by code inspection.\n\nChange-Id: I167e0920c0c0f67d9def1bdbdd34bd88941193a5\n"
    },
    {
      "commit": "ce8e83897bc09f64b0523328e61b86902aa015ef",
      "tree": "b6b8349b371ead96af5eed4ca225469cdfe290f9",
      "parents": [
        "2e1406dfa9a57fab579ba4862f679a407e6349ac"
      ],
      "author": {
        "name": "Jonathan Nieder",
        "email": "jrn@google.com",
        "time": "Fri Jul 31 14:05:43 2020 -0700"
      },
      "committer": {
        "name": "Jonathan Nieder",
        "email": "jrn@google.com",
        "time": "Fri Jul 31 18:13:28 2020 -0700"
      },
      "message": "pre-upload: use first-parent diff for list of affected files\n\nOtherwise, trying to upload a merge can fail with errors like\n\n ValueError: Failed to parse diff output: ::100644 100644 100644 4d2b33a 4d2b33a d63fea7 MM      BUILD\n\nbecause \"git diff \u003cfoo\u003e^!\" returns a diff against all parents\nthat DIFF_RE does not know how to parse.\n\nReported-by: Matthew Maurer \u003cmmaurer@google.com\u003e\nChange-Id: Iafd846f083c0c078b383f7d48ad00cce896a404c\n"
    },
    {
      "commit": "2e1406dfa9a57fab579ba4862f679a407e6349ac",
      "tree": "e0e71babed1be01ba080a6601546bfb0ce5eb649",
      "parents": [
        "7a814a1785341c2981e466c6a25eeb832f577322"
      ],
      "author": {
        "name": "Jonathan Nieder",
        "email": "jrn@google.com",
        "time": "Fri Jul 31 14:03:33 2020 -0700"
      },
      "committer": {
        "name": "Jonathan Nieder",
        "email": "jrn@google.com",
        "time": "Fri Jul 31 18:13:28 2020 -0700"
      },
      "message": "git: use \"git rev-list\" to get a revision listing\n\nAs a lower-level plumbing command designed for scripting, this can be\ncounted on to behave simply and predictably over time.\n\nChange-Id: I628727686898a3fa5441a2dc58f9edb867d2aec7\n"
    },
    {
      "commit": "b76ba4222fee3654614689994fc5716020b4779f",
      "tree": "98d684cdad6a552927e16db226ef70ee0491824f",
      "parents": [
        "cfb0facf5c0a72007315c286c478f7fc48441032",
        "7a814a1785341c2981e466c6a25eeb832f577322"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 29 22:15:19 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 29 22:15:19 2020 +0000"
      },
      "message": "Pull upstream cpplint.py from github.com/google/styleguide am: 7a814a1785\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1375269\n\nChange-Id: I07073b9adfb2f719906a8ec200f76bd5c1de91cb\n"
    },
    {
      "commit": "7a814a1785341c2981e466c6a25eeb832f577322",
      "tree": "98d684cdad6a552927e16db226ef70ee0491824f",
      "parents": [
        "07107e6bd338844643aa173683f0826366dd9664"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 28 17:36:11 2020 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 29 09:12:32 2020 -0700"
      },
      "message": "Pull upstream cpplint.py from github.com/google/styleguide\n\nUpdate language to comply with Android\u0027s inclusive language guidance\n\nSee https://source.android.com/setup/contribute/respectful-code for\nreference\n\nBug: 161896447\nTest: None\nChange-Id: I7c18212291d7bfe57a0452a3d317a90cedd079c5\n"
    },
    {
      "commit": "cfb0facf5c0a72007315c286c478f7fc48441032",
      "tree": "a2484b3715529f222f3a9167ffd1ece1c8c15ec1",
      "parents": [
        "33e3a95389cdd3117bbd7ed6f99685f62b5c0e3b",
        "07107e6bd338844643aa173683f0826366dd9664"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Jul 17 00:44:02 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jul 17 00:44:02 2020 +0000"
      },
      "message": "pre-upload: drop support for Python 3.4 am: 07107e6bd3\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1365079\n\nChange-Id: I07696a11bac1fae9836cce41d3baff4dddf4058d\n"
    },
    {
      "commit": "33e3a95389cdd3117bbd7ed6f99685f62b5c0e3b",
      "tree": "b9c85413c1133725b7480aea80113a5ee15c0f54",
      "parents": [
        "4ca0b90aa5b7e4fbcb3c5992799e99fee5e872af",
        "e67d4807cc699824adcb071d683f8db6eb34a178"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Jul 15 16:40:28 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 15 16:40:28 2020 +0000"
      },
      "message": "pre-upload: enable Python 2 deprecation warning am: e67d4807cc\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1363256\n\nChange-Id: Idef74a1004a90285c123c8359163fddda507935f\n"
    },
    {
      "commit": "4ca0b90aa5b7e4fbcb3c5992799e99fee5e872af",
      "tree": "cabee042cccc859da72b3bbae22fe19450728888",
      "parents": [
        "9326f1e03e13f714d4b08cc70d5256779a093fe1",
        "00ebc1ad7d9dc274cfabf21669cfa03cf7802710"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Jul 15 07:30:55 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 15 07:30:55 2020 +0000"
      },
      "message": "Merge \"pylint: always run python3 check with --py3\" am: 00ebc1ad7d\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1363136\n\nChange-Id: I6218a1ec51ce8fc28202b379faa51d573a955b98\n"
    },
    {
      "commit": "07107e6bd338844643aa173683f0826366dd9664",
      "tree": "a2484b3715529f222f3a9167ffd1ece1c8c15ec1",
      "parents": [
        "e67d4807cc699824adcb071d683f8db6eb34a178"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Jul 15 00:40:47 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Jul 15 03:10:39 2020 -0400"
      },
      "message": "pre-upload: drop support for Python 3.4\n\nWe\u0027ve been emitting warnings about this for ~6 months, and our pylint\nhelper actually already requires Python 3.5, so require it in the main\nscript now too.\n\nWe still emit warnings for Python 3.5 being deprecated.\n\nBug: None\nTest: `repo upload` still works w/Python 3.6\nChange-Id: Ib78d3d6d082ba9bfd1a26ac582a93f1f088b304f\n"
    },
    {
      "commit": "e67d4807cc699824adcb071d683f8db6eb34a178",
      "tree": "b9c85413c1133725b7480aea80113a5ee15c0f54",
      "parents": [
        "00ebc1ad7d9dc274cfabf21669cfa03cf7802710"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Jul 15 00:38:22 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Jul 15 03:10:39 2020 -0400"
      },
      "message": "pre-upload: enable Python 2 deprecation warning\n\nWe don\u0027t support Python 2 at all.  Warn anyone still using that\nversion so they need to migrate by end of year.\n\nBug: None\nTest: `repo-1 upload` using python2 emits a warning\nChange-Id: I8d7265399273086a7ac4151039e699277841be2e\n"
    },
    {
      "commit": "00ebc1ad7d9dc274cfabf21669cfa03cf7802710",
      "tree": "cabee042cccc859da72b3bbae22fe19450728888",
      "parents": [
        "d7363ec0659ab50df745f305d098ada4ca0adb8a",
        "a835e6df358a88ceedcaf9ddcd27b4b8720f3931"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Jul 15 07:10:24 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 15 07:10:24 2020 +0000"
      },
      "message": "Merge \"pylint: always run python3 check with --py3\""
    },
    {
      "commit": "a835e6df358a88ceedcaf9ddcd27b4b8720f3931",
      "tree": "b5f3a2e683a5e1fbb4cc31bd0a9edc54791cf6e5",
      "parents": [
        "bf70aed7478925fb510a3622e16195d699223e4c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Jul 15 00:32:18 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Jul 15 00:32:18 2020 -0400"
      },
      "message": "pylint: always run python3 check with --py3\n\nTo help people diagnose bad host environments, check for Python 3\ncompatibility all the time with pylint3\u003dTrue.\n\nBug: 161198640\nTest: `repo upload` with python2-only pylint emits a warning\nChange-Id: I856cd3d81557cedab28d21e83bcba83920abf4df\n"
    },
    {
      "commit": "9326f1e03e13f714d4b08cc70d5256779a093fe1",
      "tree": "6308b95ad785054d3ae5ed2a62972ba058ef0b7a",
      "parents": [
        "3ccf437583f7dcc8d53301256c6effdea865e9e3",
        "d7363ec0659ab50df745f305d098ada4ca0adb8a"
      ],
      "author": {
        "name": "Nick Anthony",
        "email": "nickanthony@google.com",
        "time": "Fri Jun 19 19:05:12 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jun 19 19:05:12 2020 +0000"
      },
      "message": "Fix regex in commit_msg_relnote_for_current_txt repo hook am: d7363ec065\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1344736\n\nChange-Id: I38cfd364bf23c3ac851d66b4a6d6f87f62bcc9ce\n"
    },
    {
      "commit": "d7363ec0659ab50df745f305d098ada4ca0adb8a",
      "tree": "6308b95ad785054d3ae5ed2a62972ba058ef0b7a",
      "parents": [
        "bf70aed7478925fb510a3622e16195d699223e4c"
      ],
      "author": {
        "name": "Nick Anthony",
        "email": "nickanthony@google.com",
        "time": "Fri Jun 19 11:40:34 2020 -0400"
      },
      "committer": {
        "name": "Nick Anthony",
        "email": "nickanthony@google.com",
        "time": "Fri Jun 19 12:22:27 2020 -0400"
      },
      "message": "Fix regex in commit_msg_relnote_for_current_txt repo hook\n\nThe current (incorrect) regex only enforces a Relnote\ntag for current.txt files in the root directory of the\nrepo.  However, current.txt can be in any repo subdirectory,\nso we need to enforce it everywhere.\n\nThis change removes the up carrot in the regex that\nenforces matches must start at the line start.\n\nBug: 159449967\nTest: ./pre-upload.py (with commit_msg_relnote_for_current_txt \u003d true)\nChange-Id: I7555398df6edaf410af60ce0def05894ef53ea11\n"
    },
    {
      "commit": "3ccf437583f7dcc8d53301256c6effdea865e9e3",
      "tree": "45354e9482e1916af07a4eeaa4b6f34c85050ac8",
      "parents": [
        "3a36e38a5d19d4076d63ea630a85b02f070a3e37",
        "bf70aed7478925fb510a3622e16195d699223e4c"
      ],
      "author": {
        "name": "Nick Anthony",
        "email": "nickanthony@google.com",
        "time": "Thu Jun 11 20:07:11 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 11 20:07:11 2020 +0000"
      },
      "message": "hooks: require a Relnote field when changing current.txt am: bf70aed747\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1274027\n\nChange-Id: Icd6bbf51132eff965b966bc195ad05ab11db307a\n"
    },
    {
      "commit": "3a36e38a5d19d4076d63ea630a85b02f070a3e37",
      "tree": "5cf06b36fa1c79b0bc661d32ae32f7b08ab42618",
      "parents": [
        "89afa8b10a3df748afae702163af6462692bbb22",
        "5664c116355843863d88368274ca15e2f1b6bb97"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Jun 11 20:07:05 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 11 20:07:05 2020 +0000"
      },
      "message": "utils: run: fix stderr set as str instead of bytes am: 5664c11635\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1315257\n\nChange-Id: Icf32a67ac7a053f7ca3b160d33ee9c7fd327845b\n"
    },
    {
      "commit": "89afa8b10a3df748afae702163af6462692bbb22",
      "tree": "d88e452f214fc21409089911daef74fe26fb4a4e",
      "parents": [
        "10fe66e4670a385eee8d2267b71aee9ba53ce162",
        "ed81c3526a1edb227a9dd965a0d108e00ada1f43"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Jun 11 20:06:59 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 11 20:06:59 2020 +0000"
      },
      "message": "hooks: rustfmt: fix pylint warning am: ed81c3526a\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1312703\n\nChange-Id: I05a3b213888f23df3f60c8a0355bd5d3845639a1\n"
    },
    {
      "commit": "10fe66e4670a385eee8d2267b71aee9ba53ce162",
      "tree": "471d16067c65c7e2b3b686993df51863f1079826",
      "parents": [
        "5f0342508595cc2a4e660a9d7c8d09d1d76bc2ce",
        "da09d4047438015ffaebdb3b39d0f81c61f85a23"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Jun 11 20:06:54 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 11 20:06:54 2020 +0000"
      },
      "message": "pylint: find Python 3 version better am: da09d40474\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1312702\n\nChange-Id: Ifc34cbe6d6dee84f7e2ca27ab48a9fcc6e77aded\n"
    },
    {
      "commit": "5f0342508595cc2a4e660a9d7c8d09d1d76bc2ce",
      "tree": "221d2fed5e655c57f2d2cbf504b53312ed00cb43",
      "parents": [
        "7ac64a99b14a74f7f75fc22fe86e71a04d18b99b",
        "b13418d22ccee5899839e1df371e7e8c9dfeff9c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 11 20:06:48 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 11 20:06:48 2020 +0000"
      },
      "message": "Merge \"Add rustfmt checks\" am: b13418d22c\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1294805\n\nChange-Id: I7abaa949416092ef8314725dc749a2b6a68472df\n"
    },
    {
      "commit": "7ac64a99b14a74f7f75fc22fe86e71a04d18b99b",
      "tree": "adb5b22f55eab495162b04d2baf5376726e62358",
      "parents": [
        "eda2b8ab737652f30ddd2cc1302a43672f619c69",
        "95222193d775362cf1a5820eb57884fdac9fb530"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Jun 11 20:06:42 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 11 20:06:42 2020 +0000"
      },
      "message": "utils: sudo_run: delete am: 95222193d7\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1293391\n\nChange-Id: I48266f5b64979527b7ddf0ab25b6c73c17bf8359\n"
    },
    {
      "commit": "eda2b8ab737652f30ddd2cc1302a43672f619c69",
      "tree": "e16ee05627bacc68df683d463c3cf425ff5f82d6",
      "parents": [
        "a72622e5f70c4b89abd481afaff27f7bb25917b3",
        "2bbd47c729c0158812fad67ff3b9fc583b77ae2e"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Jun 11 20:06:35 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 11 20:06:35 2020 +0000"
      },
      "message": "utils: run: rename internal stdout/stderr vars am: 2bbd47c729\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1283952\n\nChange-Id: I2b8d08e6a516a09a6ebd55b1a2b86013d8125c7c\n"
    },
    {
      "commit": "a72622e5f70c4b89abd481afaff27f7bb25917b3",
      "tree": "92e74d2ef7096f34e811a31f16990fb0c236df44",
      "parents": [
        "f7259a0da3dc37a6c286991498f9afec03356b33",
        "7bd2a9a014a73349c681d43c6bfa0e488a1a2abd"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Jun 11 20:06:29 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 11 20:06:29 2020 +0000"
      },
      "message": "utils: run: remove redundant redirect settings am: 7bd2a9a014\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1283335\n\nChange-Id: I91152aabb9fc576855b9dfaa93e2f807dc1c3989\n"
    },
    {
      "commit": "f7259a0da3dc37a6c286991498f9afec03356b33",
      "tree": "01c211e826301e8d491c0ac360c7a09acdb0ff79",
      "parents": [
        "964b55844cbf84d064729a5ebde8465a055a5ffd",
        "dc1782f93d841a558f809f10ca77fe2fe83791b1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 11 20:06:24 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 11 20:06:24 2020 +0000"
      },
      "message": "Merge \"Added keyword ${PREUPLOAD_FILES_PREFIXED}.\" am: dc1782f93d\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1254666\n\nChange-Id: Ifa20624594c7150a22f7305986d52c50252b0f17\n"
    },
    {
      "commit": "964b55844cbf84d064729a5ebde8465a055a5ffd",
      "tree": "89af0ef5df8ffae023a4f2bd9919bc7198e7eb0c",
      "parents": [
        "77424af4444082deb0cf431ebc0cfe8a3d701cf5",
        "9ccb9cef895ed34126a5e7bf922257d6a6db9bc4"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Jun 11 20:06:17 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 11 20:06:17 2020 +0000"
      },
      "message": "hooks: bind stdin all the time am: 9ccb9cef89\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1271170\n\nChange-Id: I807a79409087173a7b9ead04f8ae0c2745954bb3\n"
    },
    {
      "commit": "77424af4444082deb0cf431ebc0cfe8a3d701cf5",
      "tree": "a48d5a7fce8d2691e67a3c9fd05c71f2ed08fc89",
      "parents": [
        "5b52584f505165b014c7afc1d0e49f84c1e25332",
        "ea6ebde0ca303de0ad28e09191d263dc0be3f2c9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 11 20:06:11 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 11 20:06:11 2020 +0000"
      },
      "message": "Merge \"pre-upload: fix handling of silent tools\" am: ea6ebde0ca\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1271262\n\nChange-Id: If37b25ac46e60e978016b34ab5c55584f31d560a\n"
    },
    {
      "commit": "5b52584f505165b014c7afc1d0e49f84c1e25332",
      "tree": "74159d7bed1c7234009d0adba3298e303aea010b",
      "parents": [
        "debcb62ff14f13798982f3da206ed858f6d20d46",
        "73316598e68edb52962b70014e9057423d0f05e9"
      ],
      "author": {
        "name": "Nick Anthony",
        "email": "nickanthony@google.com",
        "time": "Thu Jun 11 20:06:04 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 11 20:06:04 2020 +0000"
      },
      "message": "Add repo hook that checks formatting of Relnote: field am: 73316598e6\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1252002\n\nChange-Id: Id5ceb3167031f59e3a54bc0f7ecfb284c2cc97c9\n"
    },
    {
      "commit": "debcb62ff14f13798982f3da206ed858f6d20d46",
      "tree": "c90cef2dfc824f0b7d439bdc40ca90c332928c63",
      "parents": [
        "ede9dda1e7aae5d093e83772637eaab9a354814d",
        "4160208fcb733cdb3853b5dd76500f075dd24aad"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Jun 11 20:05:58 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 11 20:05:58 2020 +0000"
      },
      "message": "hooks: make unittest match real code am: 4160208fcb\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1253218\n\nChange-Id: I58d386046e03a21b3529e6f992be7cd35e0da9c2\n"
    },
    {
      "commit": "ede9dda1e7aae5d093e83772637eaab9a354814d",
      "tree": "ee9dccb756df9e9e9af70abcb850c8d30ff4f47f",
      "parents": [
        "2b68127d6634c9b6e7da53bb6b7bec8ce4e3ca4a",
        "1a9db9fd1b619bda0a2da17b8fdc3139cccaa8da"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 11 20:05:46 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 11 20:05:46 2020 +0000"
      },
      "message": "Merge \"utils: _Popen: workaround Python 3.4.1+ subprocess locking bug\" am: 1a9db9fd1b\n\nOriginal change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/1247709\n\nChange-Id: I6e554659685c7d2e6115efb8310078b5d0482eb0\n"
    },
    {
      "commit": "bf70aed7478925fb510a3622e16195d699223e4c",
      "tree": "45354e9482e1916af07a4eeaa4b6f34c85050ac8",
      "parents": [
        "5664c116355843863d88368274ca15e2f1b6bb97"
      ],
      "author": {
        "name": "Nick Anthony",
        "email": "nickanthony@google.com",
        "time": "Tue Mar 31 06:47:26 2020 -0400"
      },
      "committer": {
        "name": "Nick Anthony",
        "email": "nickanthony@google.com",
        "time": "Thu May 21 06:24:20 2020 -0400"
      },
      "message": "hooks: require a Relnote field when changing current.txt\n\nThis changes adds a Repo Hook to enforce changes to\npublic_plus_experimental_current.txt and current.txt\ncontain a `Relnote: ` stanza in the commit\nmessage\n\nBug: 152839957\nTest: ./pre-upload.py\nChange-Id: Idae708077dfbc5fa750b6193734635f9054ce37f\n"
    },
    {
      "commit": "5664c116355843863d88368274ca15e2f1b6bb97",
      "tree": "5cf06b36fa1c79b0bc661d32ae32f7b08ab42618",
      "parents": [
        "ed81c3526a1edb227a9dd965a0d108e00ada1f43"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed May 20 02:10:31 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed May 20 02:12:59 2020 -0400"
      },
      "message": "utils: run: fix stderr set as str instead of bytes\n\nWe expect stderr/stdout to be bytes so we can convert them to strings\nin the common code path at the end, so don\u0027t set the stderr to a string\nlest we crash when we try to convert it to a string the second time.\n\nBug: 157092332\nTest: `repo upload` with bump PREUPLOAD.cfg shows proper error\nChange-Id: Iad4168d9d9c1fb5341854b0de7add5d86cfcaf09\n"
    },
    {
      "commit": "ed81c3526a1edb227a9dd965a0d108e00ada1f43",
      "tree": "d88e452f214fc21409089911daef74fe26fb4a4e",
      "parents": [
        "da09d4047438015ffaebdb3b39d0f81c61f85a23"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri May 15 23:10:29 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sat May 16 06:06:49 2020 +0000"
      },
      "message": "hooks: rustfmt: fix pylint warning\n\nBug: 153652717\nTest: `repo upload` is clean again\nChange-Id: Ie1af057ab312cd007d1b05b024d29114d7a24b28\n"
    },
    {
      "commit": "da09d4047438015ffaebdb3b39d0f81c61f85a23",
      "tree": "471d16067c65c7e2b3b686993df51863f1079826",
      "parents": [
        "b13418d22ccee5899839e1df371e7e8c9dfeff9c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri May 15 23:06:24 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri May 15 23:17:49 2020 -0400"
      },
      "message": "pylint: find Python 3 version better\n\nRecent distros have stopped installing `pylint3` and only provide a\nPython 3 version of `pylint`.  Probe the different program versions\nto find the right Python 3 one.\n\nBug: 156539461\nTest: `repo upload` can find pylint3 version on gLinux\nChange-Id: I431eb538b5d4fcbaffe75b424e6ff9814228b17d\n"
    },
    {
      "commit": "b13418d22ccee5899839e1df371e7e8c9dfeff9c",
      "tree": "221d2fed5e655c57f2d2cbf504b53312ed00cb43",
      "parents": [
        "95222193d775362cf1a5820eb57884fdac9fb530",
        "e79b144e2e0cf3320727c3861b9ce85a7f973237"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 27 07:11:02 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 27 07:11:02 2020 +0000"
      },
      "message": "Merge \"Add rustfmt checks\""
    },
    {
      "commit": "e79b144e2e0cf3320727c3861b9ce85a7f973237",
      "tree": "243ed9e3d0108eba82790ef20fb171726a1c1d50",
      "parents": [
        "2bbd47c729c0158812fad67ff3b9fc583b77ae2e"
      ],
      "author": {
        "name": "Richard Zhang",
        "email": "rizhang@google.com",
        "time": "Wed Apr 22 16:07:27 2020 -0700"
      },
      "committer": {
        "name": "Richard Zhang",
        "email": "rizhang@google.com",
        "time": "Sun Apr 26 23:07:14 2020 -0700"
      },
      "message": "Add rustfmt checks\n\nThis will run rustfmt on all diffed rust files\n\nTest: check_rustfmt and manual testing\nBug: 153652717\nChange-Id: I990f22b92b976ad9b5d05304c66151b70102fb6f\n"
    },
    {
      "commit": "95222193d775362cf1a5820eb57884fdac9fb530",
      "tree": "adb5b22f55eab495162b04d2baf5376726e62358",
      "parents": [
        "2bbd47c729c0158812fad67ff3b9fc583b77ae2e"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Apr 22 19:05:06 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Apr 22 19:07:02 2020 -0400"
      },
      "message": "utils: sudo_run: delete\n\nWe were using this function in only one error case in one scenario\nthat shouldn\u0027t really happen.  Expecting to get access to root in\ngeneral \u0026 invoking sudo is weird for tests, so don\u0027t even try to\nsupport it.  If we hit this situation, let\u0027s abort and make the\nuser clean things up.\n\nBug: None\nTest: preupload unittests pass\nChange-Id: Ie1ac33b477b46ddacf372b661f160421ec61049b\n"
    },
    {
      "commit": "2bbd47c729c0158812fad67ff3b9fc583b77ae2e",
      "tree": "e16ee05627bacc68df683d463c3cf425ff5f82d6",
      "parents": [
        "7bd2a9a014a73349c681d43c6bfa0e488a1a2abd"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Apr 08 18:06:38 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Apr 09 13:09:06 2020 -0400"
      },
      "message": "utils: run: rename internal stdout/stderr vars\n\nWe\u0027re going to make these into function arguments, so rename the\ninternal vars to avoid confusion when we do.\n\nChange-Id: I6c6c807b94375ef109dadc37dade0490e4884b6c\nBug: None\nTest: unittests pass\n"
    },
    {
      "commit": "7bd2a9a014a73349c681d43c6bfa0e488a1a2abd",
      "tree": "92e74d2ef7096f34e811a31f16990fb0c236df44",
      "parents": [
        "dc1782f93d841a558f809f10ca77fe2fe83791b1"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Apr 08 18:23:57 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Thu Apr 09 11:19:46 2020 -0400"
      },
      "message": "utils: run: remove redundant redirect settings\n\ncapture_output\u003dTrue implies both redirect_std{out,err}\u003dTrue so we\ncan delete the latter settings when the former is active.\n\nChange-Id: I2ad9383b3c0ea244b8984577ca4196f5980c76a7\nBug: None\nTest: unittests pass\n"
    },
    {
      "commit": "dc1782f93d841a558f809f10ca77fe2fe83791b1",
      "tree": "01c211e826301e8d491c0ac360c7a09acdb0ff79",
      "parents": [
        "9ccb9cef895ed34126a5e7bf922257d6a6db9bc4",
        "0e8d3a7eab63186b51957bbc133f1420e3dd42f1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 07 15:51:19 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 07 15:51:19 2020 +0000"
      },
      "message": "Merge \"Added keyword ${PREUPLOAD_FILES_PREFIXED}.\""
    },
    {
      "commit": "9ccb9cef895ed34126a5e7bf922257d6a6db9bc4",
      "tree": "89af0ef5df8ffae023a4f2bd9919bc7198e7eb0c",
      "parents": [
        "ea6ebde0ca303de0ad28e09191d263dc0be3f2c9"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sun Mar 29 20:28:42 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sun Mar 29 20:32:48 2020 -0400"
      },
      "message": "hooks: bind stdin all the time\n\nSince we always capture the output, make sure we disconnect stdin.\nOtherwise tools that try to read from stdin look like they hang as\nthe user isn\u0027t able to see anything.\n\nBug: None\nTest: custom hook that reads stdin finishes\nChange-Id: I4360ef79c120770b45d6f7ee0c8cfaaba4643faf\n"
    },
    {
      "commit": "0e8d3a7eab63186b51957bbc133f1420e3dd42f1",
      "tree": "b7ccfa9e1da6c465c2bcddcf9721753615a7e0cf",
      "parents": [
        "ea6ebde0ca303de0ad28e09191d263dc0be3f2c9"
      ],
      "author": {
        "name": "Sergey",
        "email": "zakharovsergey1000@gmail.com",
        "time": "Sun Mar 15 01:44:31 2020 +0400"
      },
      "committer": {
        "name": "Sergey",
        "email": "zakharovsergey1000@gmail.com",
        "time": "Sat Mar 28 14:05:50 2020 +0400"
      },
      "message": "Added keyword ${PREUPLOAD_FILES_PREFIXED}.\n\nThe keyword is expanded so that each file is preceded by\nthe same option that precedes this keyword.\n\nBug: 142016614\n\nTest: unittests pass\n\nChange-Id: I6ca7ee03f252dbc9dafe3bfba7b157e58f8fecd7\n"
    },
    {
      "commit": "ea6ebde0ca303de0ad28e09191d263dc0be3f2c9",
      "tree": "a48d5a7fce8d2691e67a3c9fd05c71f2ed08fc89",
      "parents": [
        "73316598e68edb52962b70014e9057423d0f05e9",
        "e5ad9af086a78e289585f4c7c9905d59ea71617a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 28 04:28:21 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 28 04:28:21 2020 +0000"
      },
      "message": "Merge \"pre-upload: fix handling of silent tools\""
    },
    {
      "commit": "e5ad9af086a78e289585f4c7c9905d59ea71617a",
      "tree": "b532565e26e45f4caa947ab019eb27545ed84eed",
      "parents": [
        "4160208fcb733cdb3853b5dd76500f075dd24aad"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Mar 27 22:29:01 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Mar 27 22:29:01 2020 -0400"
      },
      "message": "pre-upload: fix handling of silent tools\n\nOur output combining logic ends up treating empty outputs as if there\nwere no errors/warnings in the first place.  Stop overloading the use\nof strings here so we correctly handle errors/warnings even if they\u0027re\nsilent in their outputs.\n\nBug: None\nTest: upload with some test PREUPLOAD.cfg set to `exit 1`\nChange-Id: I8d4d438fc3950d1a396db54014ecf1899f02d9f0\n"
    },
    {
      "commit": "73316598e68edb52962b70014e9057423d0f05e9",
      "tree": "74159d7bed1c7234009d0adba3298e303aea010b",
      "parents": [
        "4160208fcb733cdb3853b5dd76500f075dd24aad"
      ],
      "author": {
        "name": "Nick Anthony",
        "email": "nickanthony@google.com",
        "time": "Thu Mar 05 17:46:44 2020 -0500"
      },
      "committer": {
        "name": "Nick Anthony",
        "email": "nickanthony@google.com",
        "time": "Tue Mar 10 18:03:11 2020 -0400"
      },
      "message": "Add repo hook that checks formatting of Relnote: field\n\n1. Checks for possible misspellings of the Relnote: field\n2. Checks for the case of a multiline release note that is\nnot wrapped in quotes\n\nBug: 150889394\nTest: ./pre-upload.py\nChange-Id: I741da0c687ceb56e34ae19fd2f3e19d8bd5862d3\n"
    },
    {
      "commit": "4160208fcb733cdb3853b5dd76500f075dd24aad",
      "tree": "c90cef2dfc824f0b7d439bdc40ca90c332928c63",
      "parents": [
        "1a9db9fd1b619bda0a2da17b8fdc3139cccaa8da"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Mar 10 01:46:42 2020 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Mar 10 01:47:34 2020 -0400"
      },
      "message": "hooks: make unittest match real code\n\nWe allow hooks to return falsey values (like []) in addition to None\nwhen things pass.  All this in unittests too.\n\nBug: 150889394\nTest: unittests pass\nChange-Id: Iabae495819a5236bd30983082cc527b6ed867c44\n"
    },
    {
      "commit": "1a9db9fd1b619bda0a2da17b8fdc3139cccaa8da",
      "tree": "ee9dccb756df9e9e9af70abcb850c8d30ff4f47f",
      "parents": [
        "2b68127d6634c9b6e7da53bb6b7bec8ce4e3ca4a",
        "0fd734073ab98c5d249a3c0de6a357a62654515f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 07 04:48:55 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 07 04:48:55 2020 +0000"
      },
      "message": "Merge \"utils: _Popen: workaround Python 3.4.1+ subprocess locking bug\""
    },
    {
      "commit": "0fd734073ab98c5d249a3c0de6a357a62654515f",
      "tree": "ee9dccb756df9e9e9af70abcb850c8d30ff4f47f",
      "parents": [
        "0f5c4fea8c9f06ef15b2d7680d33190507945e82"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Mon Mar 02 20:15:39 2020 -0500"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Mon Mar 02 20:16:32 2020 -0500"
      },
      "message": "utils: _Popen: workaround Python 3.4.1+ subprocess locking bug\n\nPython 3.4.1 changed behavior where Popen APIs cannot be used from a\nsignal handler when the Popen object was in use when the signal was\ndelivered due to holding a threading lock.  Add some internal helpers\nto workaround it.\n\nSee the upstream bug report for more details:\nhttps://bugs.python.org/issue25960\n\nBug: 150647916\nBug: crbug.com/1022187\nTest: unittests pass\nChange-Id: I8669ef7fdf5cdc4746e8bc83db04be64ac8dc073\n"
    },
    {
      "commit": "2b68127d6634c9b6e7da53bb6b7bec8ce4e3ca4a",
      "tree": "c203fe2ad956901bb14d68c36abae65d846fb889",
      "parents": [
        "3eec4157f8b9ddbece07581c736a44bab8bb255a",
        "5d873d13982fd25cf8ab7a9469396c49c12cbd68"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sat Feb 15 01:03:45 2020 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sat Feb 15 01:03:45 2020 +0000"
      },
      "message": "README: fix up a few header levels am: 0f5c4fea8c am: 030a5eb365 am: 5d873d1398\n\nChange-Id: I4e768953f68ef6c1d599ca32766c9ccc2b1ce0db\n"
    },
    {
      "commit": "5d873d13982fd25cf8ab7a9469396c49c12cbd68",
      "tree": "c203fe2ad956901bb14d68c36abae65d846fb889",
      "parents": [
        "0e569388fe5f4dc26a272ad0e5ee74e5c26b4911",
        "030a5eb36545beb1856c8c0e4c8f60637abe82a2"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sat Feb 15 00:44:45 2020 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sat Feb 15 00:44:45 2020 +0000"
      },
      "message": "README: fix up a few header levels am: 0f5c4fea8c am: 030a5eb365\n\nChange-Id: Id847706fcbe5940cbd1b476eac743ee051dcdd97\n"
    },
    {
      "commit": "030a5eb36545beb1856c8c0e4c8f60637abe82a2",
      "tree": "c203fe2ad956901bb14d68c36abae65d846fb889",
      "parents": [
        "3e631f866e339661bb23eb60de0f0ad963b8d10e",
        "0f5c4fea8c9f06ef15b2d7680d33190507945e82"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sat Feb 15 00:22:11 2020 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sat Feb 15 00:22:11 2020 +0000"
      },
      "message": "README: fix up a few header levels am: 0f5c4fea8c\n\nChange-Id: I127cd6e9ead83c9150d62fdafcd86a78e3819599\n"
    },
    {
      "commit": "0f5c4fea8c9f06ef15b2d7680d33190507945e82",
      "tree": "c203fe2ad956901bb14d68c36abae65d846fb889",
      "parents": [
        "d89347c96376cd71594d159f8901a759b90da192"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Feb 14 16:36:35 2020 -0500"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Feb 14 16:36:35 2020 -0500"
      },
      "message": "README: fix up a few header levels\n\nThese were indented one-too-many causing them to be under the wrong\nparent section.\n\nBug: None\nTest: looked at the output in gitiles\nChange-Id: I7b97fe64e357fa4ab2d55c372f124e85d75028e7\n"
    },
    {
      "commit": "3eec4157f8b9ddbece07581c736a44bab8bb255a",
      "tree": "369306b9cb62e22bdfa1d39ed75db6f0dd9025fb",
      "parents": [
        "b65905c5a6fd2e1d4b76b95fc20ee945dda8f074",
        "0e569388fe5f4dc26a272ad0e5ee74e5c26b4911"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Feb 14 20:00:52 2020 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Feb 14 20:00:52 2020 +0000"
      },
      "message": "pre-upload: start warning about older Python 3 versions am: d89347c963 am: 3e631f866e am: 0e569388fe\n\nChange-Id: I06c2131efc458dad61afb55b2fce91d894c6ecc1\n"
    },
    {
      "commit": "0e569388fe5f4dc26a272ad0e5ee74e5c26b4911",
      "tree": "369306b9cb62e22bdfa1d39ed75db6f0dd9025fb",
      "parents": [
        "a2093bdfa845f7a7f7455ce764a94b4537594e4e",
        "3e631f866e339661bb23eb60de0f0ad963b8d10e"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Feb 14 19:45:41 2020 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Feb 14 19:45:41 2020 +0000"
      },
      "message": "pre-upload: start warning about older Python 3 versions am: d89347c963 am: 3e631f866e\n\nChange-Id: Ibf3f93baac0cab967a8367e33261a5268e80dab1\n"
    },
    {
      "commit": "3e631f866e339661bb23eb60de0f0ad963b8d10e",
      "tree": "369306b9cb62e22bdfa1d39ed75db6f0dd9025fb",
      "parents": [
        "a2093bdfa845f7a7f7455ce764a94b4537594e4e",
        "d89347c96376cd71594d159f8901a759b90da192"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Feb 14 19:23:15 2020 +0000"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Feb 14 19:23:15 2020 +0000"
      },
      "message": "pre-upload: start warning about older Python 3 versions am: d89347c963\n\nChange-Id: I9aa21b4aae1acafce79de7964f22b03796270260\n"
    },
    {
      "commit": "d89347c96376cd71594d159f8901a759b90da192",
      "tree": "369306b9cb62e22bdfa1d39ed75db6f0dd9025fb",
      "parents": [
        "36d2ce62750acc984116f6af9b67b19b23a1afc5"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Feb 14 13:01:44 2020 -0500"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Feb 14 13:01:44 2020 -0500"
      },
      "message": "pre-upload: start warning about older Python 3 versions\n\nLet people know we\u0027re going to be dropping support so they can\nmigrate before we actually cut them off.\n\nBug: None\nTest: unittests pass\nChange-Id: I74734b43341b961a63a1b0ca96c13dbcad59d250\n"
    },
    {
      "commit": "b65905c5a6fd2e1d4b76b95fc20ee945dda8f074",
      "tree": "21cf450ab52d1d94f88339316ef898bd9931a52d",
      "parents": [
        "add38b5c3b0288416624b5325bb6bccd56d61e6e",
        "a2093bdfa845f7a7f7455ce764a94b4537594e4e"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 23:47:58 2019 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 23:47:58 2019 +0000"
      },
      "message": "utils: rename RunCommandError to CalledProcessError am: 36d2ce6275 am: b49ab82c5e am: a2093bdfa8\n\nChange-Id: Icff10832843acc654a0ea07820d894ba7d945440\n"
    },
    {
      "commit": "a2093bdfa845f7a7f7455ce764a94b4537594e4e",
      "tree": "21cf450ab52d1d94f88339316ef898bd9931a52d",
      "parents": [
        "d0355d87d2c3b3ca9dc41d49c2f839742d638960",
        "b49ab82c5eff72d60d6abe235934d862e91e2688"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 23:29:51 2019 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 23:29:51 2019 +0000"
      },
      "message": "utils: rename RunCommandError to CalledProcessError am: 36d2ce6275 am: b49ab82c5e\n\nChange-Id: Ic5aa44060359ad58cab89c7c5cf1a7f8f9581ad3\n"
    },
    {
      "commit": "b49ab82c5eff72d60d6abe235934d862e91e2688",
      "tree": "21cf450ab52d1d94f88339316ef898bd9931a52d",
      "parents": [
        "6b8204fb03bd89290d02f189edc84ef9d84d170d",
        "36d2ce62750acc984116f6af9b67b19b23a1afc5"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Dec 18 15:12:23 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 18 15:12:23 2019 -0800"
      },
      "message": "utils: rename RunCommandError to CalledProcessError\nam: 36d2ce6275\n\nChange-Id: I15c5bae2ae73df5a65f6246dc5e526845df9f4c2\n"
    },
    {
      "commit": "add38b5c3b0288416624b5325bb6bccd56d61e6e",
      "tree": "9635eac299ece36bbc2d9400206fc54a78eccd02",
      "parents": [
        "8a5cf48ee581ba19b2b879a93b2c04c22cf28bb6",
        "d0355d87d2c3b3ca9dc41d49c2f839742d638960"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 22:03:59 2019 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 22:03:59 2019 +0000"
      },
      "message": "utils: RunCommandError: drop eq/ne support am: f482d76353 am: 6b8204fb03 am: d0355d87d2\n\nChange-Id: I7befee690401c8dc18d6b5b9ab91e3662f20766c\n"
    },
    {
      "commit": "d0355d87d2c3b3ca9dc41d49c2f839742d638960",
      "tree": "9635eac299ece36bbc2d9400206fc54a78eccd02",
      "parents": [
        "de33c51c1a4b1955258b1bd26907407f6f09b4fd",
        "6b8204fb03bd89290d02f189edc84ef9d84d170d"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 21:43:58 2019 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 21:43:58 2019 +0000"
      },
      "message": "utils: RunCommandError: drop eq/ne support am: f482d76353 am: 6b8204fb03\n\nChange-Id: I2c0a5ab485a0a0173c9111d3804d69f509945ea2\n"
    },
    {
      "commit": "6b8204fb03bd89290d02f189edc84ef9d84d170d",
      "tree": "9635eac299ece36bbc2d9400206fc54a78eccd02",
      "parents": [
        "0f0fbbfa9b8e9c3830099ba92544a1453667ba93",
        "f482d76353e99ddcae2eb0b72a1c2e6d647a17de"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Dec 18 13:27:12 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 18 13:27:12 2019 -0800"
      },
      "message": "utils: RunCommandError: drop eq/ne support\nam: f482d76353\n\nChange-Id: I0f7d200840cd93f7810140a59d74b43104344aa1\n"
    },
    {
      "commit": "36d2ce62750acc984116f6af9b67b19b23a1afc5",
      "tree": "21cf450ab52d1d94f88339316ef898bd9931a52d",
      "parents": [
        "f482d76353e99ddcae2eb0b72a1c2e6d647a17de"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Dec 04 22:17:07 2019 -0500"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Dec 18 16:14:39 2019 -0500"
      },
      "message": "utils: rename RunCommandError to CalledProcessError\n\nThe Python 3.6 subprocess uses the |CalledProcessError| name.\nAlso adjust all of its attributes to match.\n\nBug: None\nTest: unittests pass\nChange-Id: I2474e7e74b259b4082824fe573337329a94bc751\n"
    },
    {
      "commit": "f482d76353e99ddcae2eb0b72a1c2e6d647a17de",
      "tree": "9635eac299ece36bbc2d9400206fc54a78eccd02",
      "parents": [
        "9b5eceb631071b0817c4adcf9e23b1bda1f79c05"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Dec 04 22:02:36 2019 -0500"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Dec 18 15:03:46 2019 -0500"
      },
      "message": "utils: RunCommandError: drop eq/ne support\n\nWe don\u0027t compare exceptions anywhere.  Drop support for it as this\ncode would need to get more complicated with the next updates.\n\nBug: None\nTest: unittests pass\nChange-Id: I3e603119bc69aac98a72e005575b9777ce10806f\n"
    },
    {
      "commit": "8a5cf48ee581ba19b2b879a93b2c04c22cf28bb6",
      "tree": "ac43c8b159d69f0ab423336cc25b44462b13567d",
      "parents": [
        "84f79d7084e6d14fb6fe051ac0382be037dd57fb",
        "de33c51c1a4b1955258b1bd26907407f6f09b4fd"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 06:19:21 2019 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 06:19:21 2019 +0000"
      },
      "message": "utils: run: rename error_code_ok to check am: 9b5eceb631 am: 0f0fbbfa9b am: de33c51c1a\n\nChange-Id: I1946c84e74cb1f48a83e58b4ced12f2ff81145dd\n"
    },
    {
      "commit": "de33c51c1a4b1955258b1bd26907407f6f09b4fd",
      "tree": "ac43c8b159d69f0ab423336cc25b44462b13567d",
      "parents": [
        "c3375b4d22ed74f04b71a6ffa12033c5b1ffdb2a",
        "0f0fbbfa9b8e9c3830099ba92544a1453667ba93"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 06:07:49 2019 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 06:07:49 2019 +0000"
      },
      "message": "utils: run: rename error_code_ok to check am: 9b5eceb631 am: 0f0fbbfa9b\n\nChange-Id: Ie2a51636bbae6c5bb4ef27f109b59016d3c56566\n"
    },
    {
      "commit": "0f0fbbfa9b8e9c3830099ba92544a1453667ba93",
      "tree": "ac43c8b159d69f0ab423336cc25b44462b13567d",
      "parents": [
        "465f138dda1be9a947909cf41466253ad11db944",
        "9b5eceb631071b0817c4adcf9e23b1bda1f79c05"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Dec 17 21:55:30 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 17 21:55:30 2019 -0800"
      },
      "message": "utils: run: rename error_code_ok to check\nam: 9b5eceb631\n\nChange-Id: Ia829ea9126a4ca62eefd7be60cfa8beaca3878d3\n"
    },
    {
      "commit": "9b5eceb631071b0817c4adcf9e23b1bda1f79c05",
      "tree": "ac43c8b159d69f0ab423336cc25b44462b13567d",
      "parents": [
        "34b29ccfe434676cb2b44514aa93daf8dca4e437"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Dec 04 21:57:14 2019 -0500"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Dec 17 22:39:17 2019 -0500"
      },
      "message": "utils: run: rename error_code_ok to check\n\nThe Python 3.6 subprocess.run uses the |check| name.\n\nBug: None\nTest: unittests pass\nChange-Id: If67f9b6f1275315a867d112cb89bf3431cff4858\n"
    },
    {
      "commit": "84f79d7084e6d14fb6fe051ac0382be037dd57fb",
      "tree": "5a6599936e9a81acfdc2dc83353f48d29dc4b310",
      "parents": [
        "293e321592034273bcbae17455db34b4fbd4ab75",
        "c3375b4d22ed74f04b71a6ffa12033c5b1ffdb2a"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 03:28:12 2019 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 03:28:12 2019 +0000"
      },
      "message": "utils: run: delete unused options am: 34b29ccfe4 am: 465f138dda am: c3375b4d22\n\nChange-Id: Iee597e5d2e2e8d2e791c32bf5099ab5e8548589a\n"
    },
    {
      "commit": "c3375b4d22ed74f04b71a6ffa12033c5b1ffdb2a",
      "tree": "5a6599936e9a81acfdc2dc83353f48d29dc4b310",
      "parents": [
        "1927745a02dea3277b80999768c70da2d13adb99",
        "465f138dda1be9a947909cf41466253ad11db944"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 03:16:04 2019 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 03:16:04 2019 +0000"
      },
      "message": "utils: run: delete unused options am: 34b29ccfe4 am: 465f138dda\n\nChange-Id: I70962d5649dda46497f37b87d0fd01f0ea0711a6\n"
    },
    {
      "commit": "465f138dda1be9a947909cf41466253ad11db944",
      "tree": "5a6599936e9a81acfdc2dc83353f48d29dc4b310",
      "parents": [
        "9beb653aa6360da755387383a0ce641b0ec22917",
        "34b29ccfe434676cb2b44514aa93daf8dca4e437"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Dec 17 19:05:24 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 17 19:05:24 2019 -0800"
      },
      "message": "utils: run: delete unused options\nam: 34b29ccfe4\n\nChange-Id: I104fb074eb892857f13fb9b435f1b5d4ac3ba3c7\n"
    },
    {
      "commit": "293e321592034273bcbae17455db34b4fbd4ab75",
      "tree": "93b45bbef766ec53f12d6a2a6b2fdbb1d12e7553",
      "parents": [
        "0a4f0bfb1fbdc77cc921567507577be3a87999d4",
        "1927745a02dea3277b80999768c70da2d13adb99"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Dec 17 23:13:52 2019 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Dec 17 23:13:52 2019 +0000"
      },
      "message": "utils: rename run_command to run am: 70b78f0028 am: 9beb653aa6 am: 1927745a02\n\nChange-Id: I68507fdb6bdc6a64f44551e24341d910ef57cdfe\n"
    },
    {
      "commit": "1927745a02dea3277b80999768c70da2d13adb99",
      "tree": "93b45bbef766ec53f12d6a2a6b2fdbb1d12e7553",
      "parents": [
        "d63ace1c611ac8d3e0e91c8fd92e00c515f65139",
        "9beb653aa6360da755387383a0ce641b0ec22917"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Dec 17 22:01:42 2019 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Dec 17 22:01:42 2019 +0000"
      },
      "message": "utils: rename run_command to run am: 70b78f0028 am: 9beb653aa6\n\nChange-Id: I10b523215f1ae3cd186645a0f9687ca9102b9781\n"
    }
  ],
  "next": "34b29ccfe434676cb2b44514aa93daf8dca4e437"
}
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Apr 21 21:01:30 2024 UTC