)]}'
{
  "log": [
    {
      "commit": "ca156fe7efef4be6ddd84031ce94e2137a075952",
      "tree": "c4e59629053e1fcb62b63afdb7f48dfacda901d7",
      "parents": [
        "255a6e6f2afe4e33979c7eb7d3978149aaf9bd57",
        "96ca93b2e3e631d70ca99750999ab181a0a29818"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.opendev.org",
        "time": "Thu Dec 03 18:57:45 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Dec 03 18:57:45 2020 +0000"
      },
      "message": "Merge \"Just use flake8 instead of hacking\""
    },
    {
      "commit": "255a6e6f2afe4e33979c7eb7d3978149aaf9bd57",
      "tree": "70a4cf97587b27ae0b9d0993b55480c70342205b",
      "parents": [
        "14270d487aa68de18fed910027bb818885f55b30",
        "454e31c4d7b1b742c1020848317900dcbebd6ad4"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.opendev.org",
        "time": "Tue Nov 17 21:15:24 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Nov 17 21:15:24 2020 +0000"
      },
      "message": "Merge \"Make local git dir creation optional\""
    },
    {
      "commit": "14270d487aa68de18fed910027bb818885f55b30",
      "tree": "9c49d06b1cfbb17eefd652fa254dad5daac76173",
      "parents": [
        "6efdfe9f8705b38af31b116790943382bde7429f",
        "bc7087425a52eb2aea0238756cb2c5709caa58dd"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.opendev.org",
        "time": "Thu Nov 12 23:00:04 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Nov 12 23:00:04 2020 +0000"
      },
      "message": "Merge \"Update OpenDev Manual URL in new contributor intro\""
    },
    {
      "commit": "454e31c4d7b1b742c1020848317900dcbebd6ad4",
      "tree": "50cd98f8ef6eeff87ef40bd30b1948ddc31d8d9f",
      "parents": [
        "6efdfe9f8705b38af31b116790943382bde7429f"
      ],
      "author": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Fri Oct 16 09:33:00 2020 -0700"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "cboylan@sapwetik.org",
        "time": "Tue Nov 10 19:02:06 2020 +0000"
      },
      "message": "Make local git dir creation optional\n\nmanage-projects unconditionally set up a local git dir even if the\nconfig option was unset. We change that behavior because new gerrit url\npaths make a local git dir option less straight forward. If you\u0027ve set a\ngit dir path we\u0027ll continue to honor it, otherwise this step is skipped.\n\nDepends-On: https://review.opendev.org/762196\nChange-Id: I39ef5ba7cd8747d52487cb0252a9b12878d6247b\n"
    },
    {
      "commit": "6efdfe9f8705b38af31b116790943382bde7429f",
      "tree": "d54164a5552faa4a7166cc756d3eb545b0ea9f81",
      "parents": [
        "4b0999f64d75e023bdbbdaa0f5dbb01c3390ee06"
      ],
      "author": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Wed Jul 15 10:25:13 2020 -0700"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Thu Jul 16 17:13:56 2020 -0700"
      },
      "message": "Set repo HEAD on gerrit project creation\n\nBy default we set repo HEAD to master but add configuration that allows\nus to set it to some other value for new projects. Note this shouldn\u0027t\nbe used until tools for other systems like Gitea are ready.\n\nWe explicitly set the default to master as we rely on Gitea and Gerrit\nand Git to all be in sync with the default branch. That is the case\ntoday but may not be going forward. Being explicit allows us to avoid\nearly unexpected change but would also allow us to swap before all tools\nupdate their defaults as well.\n\nNote that we configure our local operating copy with the default head as\nwell to ensure there isn\u0027t additional confusion between the local repo\nused to create .gitreview files and the gerrit canonical copy.\n\nDepends-On: https://review.opendev.org/741277\nChange-Id: Ie064056ba1722b1bca309dd9f96b61aae0a2fef9\n"
    },
    {
      "commit": "bc7087425a52eb2aea0238756cb2c5709caa58dd",
      "tree": "b1a764885f31ae62401cf2439221408977b29490",
      "parents": [
        "4b0999f64d75e023bdbbdaa0f5dbb01c3390ee06"
      ],
      "author": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Fri May 15 15:50:36 2020 +0000"
      },
      "committer": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Tue May 19 19:31:03 2020 +0000"
      },
      "message": "Update OpenDev Manual URL in new contributor intro\n\nThe OpenDev Manual (formerly OpenStack Infra Manual) has moved to\nopendev.org, so update the link for it in the welcome message\naccordingly. Do the same for the pull request closer utility, and\nalso reword it for better generality (a bit of de-OpenStacking).\n\nWhile we\u0027re here, update outdated URLs for other content and\nservices which have moved to opendev.org, refresh some configuration\nexamples, and correct some lingering OpenStack LLC copyrights to\nOpenStack Foundation per the guidance at\nhttps://wiki.openstack.org/wiki/LegalIssuesFAQ#Copyright_Headers\n(though I did not touch scripts we no longer use, like create\ncgitrepos or openstackwatch).\n\nChange-Id: Ibb34d1ab8ab58dee653c51141a871834b93cd54b\nDepends-On: https://review.opendev.org/729362\n"
    },
    {
      "commit": "4b0999f64d75e023bdbbdaa0f5dbb01c3390ee06",
      "tree": "c185e474209e140f0e7b8511213cb5475c2696b6",
      "parents": [
        "9d733a9ded25e89e381e4d0483d776eb9fc9b5ed",
        "f9771e88ca433dfe0730ae9c0795b9f367004659"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.opendev.org",
        "time": "Mon May 04 15:43:38 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon May 04 15:43:38 2020 +0000"
      },
      "message": "Merge \"Inspect all configs in manage-projects\""
    },
    {
      "commit": "9d733a9ded25e89e381e4d0483d776eb9fc9b5ed",
      "tree": "b9256112cb07d7bbb4c723809658defb8c67ce55",
      "parents": [
        "5567a02437daabf50c454b10baf194d8b6ac94d2"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Sat Apr 11 09:48:49 2020 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Sat Apr 11 09:58:36 2020 -0500"
      },
      "message": "Decode utf-8 from subprocess.Popen\n\nWe use subprocess.Popen directly in these scripts rather than\nrun_command. We need to decode the output so that we get strings\nback and not bytes.\n\nChange-Id: Ie967ceac77ecb898cab24827644b981eed22e141\n"
    },
    {
      "commit": "5567a02437daabf50c454b10baf194d8b6ac94d2",
      "tree": "3649c1ab98232f8c773a74e5b4eb052ee358c164",
      "parents": [
        "77bed1ae7afd0cb51f0fb7c517c47e9bd66c758f"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Fri Apr 10 11:49:49 2020 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Fri Apr 10 13:01:46 2020 -0500"
      },
      "message": "Fix issues from rolling out containers\n\nWe need to be able to set the location of GERRIT_GIT_DIR via\nenv vars. And we need to turn off strict for config parser.\n\nChange-Id: I9d511caa6db6f958a215f131692e185c717b66d5\n"
    },
    {
      "commit": "77bed1ae7afd0cb51f0fb7c517c47e9bd66c758f",
      "tree": "80217bc85aa1c067693d161d94d687b69eae4dda",
      "parents": [
        "ce25e06d8f111fe3fc9e82f3acd5580a79041b28"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Mon Mar 30 08:03:44 2020 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Mon Mar 30 08:03:44 2020 -0500"
      },
      "message": "Username is on the connection objet\n\nWe\u0027re manipulating a Gerrit object not a GerritConnection object.\nThe username property is found on the Gerrit object.\n\nChange-Id: I9b4c4cc0dacf456c1cb71c3798141ac726b1db71\n"
    },
    {
      "commit": "ce25e06d8f111fe3fc9e82f3acd5580a79041b28",
      "tree": "ef002dfb82cbb2590d2b74db09915e308cfde847",
      "parents": [
        "ca1945dc636daee056718d6a407290cedbcfa7dd"
      ],
      "author": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Sun Mar 29 20:44:24 2020 +0000"
      },
      "committer": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Sun Mar 29 20:44:24 2020 +0000"
      },
      "message": "Catch exceptions when checking for groups\n\nWork around gerritlib raising a generic \"Exception\" exception when\nlistGroup() finds no group.\n\nChange-Id: I63de5aac729b29366b37f1304369419328f4a051\n"
    },
    {
      "commit": "ca1945dc636daee056718d6a407290cedbcfa7dd",
      "tree": "da2d7e5e2c95e12edfb3269d7087472b9560eccc",
      "parents": [
        "80b1e1523682a60fd402b8c1de137f2de1ba888a"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Fri Mar 27 14:38:45 2020 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Fri Mar 27 16:22:21 2020 -0500"
      },
      "message": "More python3 fixes\n\nReturn strings from run_command\n\njeepyb is written expecting strings. Decode the bytes into a\nstring.\n\nFix fsck_command for python3\n\nWe fixed run_command to return strings, but fsck_command was\nlooking for bytes.\n\nFilter returns an interator not a list in python3, wrap in a\nlist.\n\nChange-Id: Ibb4d540a987711bd6b4c804a3f6b7cb2ccfe1baa\n"
    },
    {
      "commit": "80b1e1523682a60fd402b8c1de137f2de1ba888a",
      "tree": "1bd660d60b140df87e51ba0bb424e9fa9767d13b",
      "parents": [
        "b6401b0f2f1c6d62ccc8689cc6718423648925fd"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Wed Mar 25 14:47:56 2020 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Wed Mar 25 14:47:56 2020 -0500"
      },
      "message": "Encode the input to hashlib\n\nAnother python3-ism.\n\nChange-Id: Ide54c16fd75b1e06b45a926b771d65575d50ca2e\n"
    },
    {
      "commit": "b6401b0f2f1c6d62ccc8689cc6718423648925fd",
      "tree": "0d87d889db9275330a9a2e42927d1ac3db785962",
      "parents": [
        "3611248789c3142dd20aeb76806872f5cff358f1"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Mar 24 18:50:19 2020 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Mar 24 18:50:19 2020 -0500"
      },
      "message": "Update StringIO to use six\n\nIt\u0027s StringIO.StringIO in python2 and io.StringIO in python3,\nbut six.StringIO everywhere.\n\nChange-Id: Ief0b091b716e3ea6224c0ac374a6066f0270bebc\n"
    },
    {
      "commit": "3611248789c3142dd20aeb76806872f5cff358f1",
      "tree": "f7a6e0db619dc2b4b994a7b71ffff9dc7c24254a",
      "parents": [
        "fd310cf1e7afc614971bbe5b4b48f6ea91f2d85b"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Mar 24 15:04:01 2020 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Mar 24 15:04:01 2020 -0500"
      },
      "message": "Trigger new images\n\nChange-Id: I428b46af2c04867582f170b48c64fc6ff087052c\n"
    },
    {
      "commit": "96ca93b2e3e631d70ca99750999ab181a0a29818",
      "tree": "c81315e62f3cbe52a41afe5efe923be1d9e3c93f",
      "parents": [
        "90b98698c3f16a408f03e64a000a331051312a92"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Mar 24 13:00:16 2020 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Mar 24 15:00:12 2020 -0500"
      },
      "message": "Just use flake8 instead of hacking\n\nWe don\u0027t use hacking in Infra. Use flake8 instead.\n\nChange-Id: I04ac08a0c4218398b43e906a6d65f75b3ff104c3\n"
    },
    {
      "commit": "fd310cf1e7afc614971bbe5b4b48f6ea91f2d85b",
      "tree": "f7a6e0db619dc2b4b994a7b71ffff9dc7c24254a",
      "parents": [
        "4a4e291735872f31011c5fde9043dfa2d07e5f39",
        "086a9bf6e373f8381a96b3e7f40ac85e45e21aff"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.opendev.org",
        "time": "Tue Mar 24 15:08:48 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Mar 24 15:08:48 2020 +0000"
      },
      "message": "Merge \"Clean up some more python3 things\""
    },
    {
      "commit": "4a4e291735872f31011c5fde9043dfa2d07e5f39",
      "tree": "123730d816490313c6c73c4007dc029bc06c4d49",
      "parents": [
        "7e539bd34f9fef2663cf7f1e56f4c0f78333ffdb",
        "90b98698c3f16a408f03e64a000a331051312a92"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.opendev.org",
        "time": "Mon Mar 23 19:21:34 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Mar 23 19:21:34 2020 +0000"
      },
      "message": "Merge \"Run pep8 job in-repo\""
    },
    {
      "commit": "086a9bf6e373f8381a96b3e7f40ac85e45e21aff",
      "tree": "87f758b01844683524c085d660d232111be1060e",
      "parents": [
        "90b98698c3f16a408f03e64a000a331051312a92"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Sun Mar 22 10:40:08 2020 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Mon Mar 23 13:36:48 2020 -0500"
      },
      "message": "Clean up some more python3 things\n\nBecause system commands are bytes not strings. Because yay.\n\nChange-Id: Ib54b5717c2e2051addc2d7208a70b82a66ca8ccb\n"
    },
    {
      "commit": "90b98698c3f16a408f03e64a000a331051312a92",
      "tree": "41955b9265e17a420056bf800f9c76be8e5c9952",
      "parents": [
        "20808ddc5db670be59ff8048b362f8fee8701867"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Sun Mar 22 09:33:26 2020 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Mon Mar 23 13:36:45 2020 -0500"
      },
      "message": "Run pep8 job in-repo\n\nWe removed the pep8 job from project-config, let\u0027s add\nit back to our local .zuul.yaml.\n\nDepends-On: https://review.opendev.org/714516\nChange-Id: I5a9a65569e4103914e64a09c47104d0e3d7c5fe1\n"
    },
    {
      "commit": "7e539bd34f9fef2663cf7f1e56f4c0f78333ffdb",
      "tree": "f57998f4feb5e7a9325e21756535e848528a02d2",
      "parents": [
        "d62bca8a035164a91895606b844df07001cd4fe0",
        "20808ddc5db670be59ff8048b362f8fee8701867"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.opendev.org",
        "time": "Sun Mar 22 14:17:56 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Mar 22 14:17:56 2020 +0000"
      },
      "message": "Merge \"Update ConfigParser imports for python3\""
    },
    {
      "commit": "d62bca8a035164a91895606b844df07001cd4fe0",
      "tree": "d931f02579dd77bacec8d15980d0edd01f882057",
      "parents": [
        "c7e501b57ea55896e2345b9ded3cb3cf7a1f48e9",
        "2bb53ddb7f93037956fbe0697b599a00654720e9"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.opendev.org",
        "time": "Sun Mar 22 14:17:56 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Mar 22 14:17:56 2020 +0000"
      },
      "message": "Merge \"Run gerritlib and Gerrit integration test\""
    },
    {
      "commit": "c7e501b57ea55896e2345b9ded3cb3cf7a1f48e9",
      "tree": "aa6c183c7294a96bab8c613da3dcc6823827bc8d",
      "parents": [
        "0ec183dd56adf59207b31ce46caa3b9458b3933f",
        "369d025428684a18262d149d6c1f4fd5192679ae"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.opendev.org",
        "time": "Sat Mar 21 21:44:42 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Mar 21 21:44:42 2020 +0000"
      },
      "message": "Merge \"Log errors when committing and pushing acls\""
    },
    {
      "commit": "0ec183dd56adf59207b31ce46caa3b9458b3933f",
      "tree": "10bfda16f7f2730f3c94dbad847f59df91133c36",
      "parents": [
        "891047afa01762a761fae2a1bf4370c3201466b3",
        "cef1dde44f64f4ea3a44af7ee596d0889ecedb14"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.opendev.org",
        "time": "Sat Mar 21 21:44:41 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Mar 21 21:44:41 2020 +0000"
      },
      "message": "Merge \"Don\u0027t use the db in manage-projects\""
    },
    {
      "commit": "20808ddc5db670be59ff8048b362f8fee8701867",
      "tree": "fe70b04472645f14d8a1e0c0194ff6e03a57b577",
      "parents": [
        "2bb53ddb7f93037956fbe0697b599a00654720e9"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Sat Mar 21 16:09:11 2020 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Sat Mar 21 16:42:29 2020 -0500"
      },
      "message": "Update ConfigParser imports for python3\n\nWe\u0027re starting to run jeepyb under python3 in the new gerrit image.\n\nChange-Id: Ia71cb13f3b45055bbb9a311807fa65a89c8be62a\n"
    },
    {
      "commit": "891047afa01762a761fae2a1bf4370c3201466b3",
      "tree": "e1607953dfe14166b238ef9470cef5552967cfb7",
      "parents": [
        "837515213f367cd980314dbe4ac2595ef112d2f9"
      ],
      "author": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Thu Feb 20 21:50:25 2020 +0000"
      },
      "committer": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Thu Feb 20 21:50:25 2020 +0000"
      },
      "message": "Overhaul default welcome message for OpenDev\n\nThe \"Welcome, new contributor!\" hook bot should leave a more generic\nmessage relevant to most OpenDev projects, and not something\nOpenStack-specific (as this could easily confuse new contributors to\nnon-OpenStack projects in OpenDev).\n\nChange-Id: Ifc41e0639adf27a476025e66728d547a71ad99d5\n"
    },
    {
      "commit": "2bb53ddb7f93037956fbe0697b599a00654720e9",
      "tree": "23d9ef7d059a8a1288aa05c824a58b2bab8b2296",
      "parents": [
        "369d025428684a18262d149d6c1f4fd5192679ae"
      ],
      "author": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Tue Jan 28 11:24:46 2020 -0800"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Tue Jan 28 11:25:23 2020 -0800"
      },
      "message": "Run gerritlib and Gerrit integration test\n\nThis gives us functional integration testing of gerritlib and gerrit\nwith manage-projects. This could be expanded further to test more\nfunctionality too.\n\nDepends-On: https://review.opendev.org/#/c/704623/\nChange-Id: I739807b26ccd89f9bf97b3706bcf567a9d790dd7\n"
    },
    {
      "commit": "369d025428684a18262d149d6c1f4fd5192679ae",
      "tree": "4e3aad92a56a43c683efb29c015b27b221156e28",
      "parents": [
        "cef1dde44f64f4ea3a44af7ee596d0889ecedb14"
      ],
      "author": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Tue Jan 28 10:46:45 2020 -0800"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Tue Jan 28 10:46:45 2020 -0800"
      },
      "message": "Log errors when committing and pushing acls\n\nFor some reason we don\u0027t log the git output so failures are opaque to\nus. Fix that by adding additonal logging.\n\nChange-Id: If212ae6115c8266e1352431588c04547c897e982\n"
    },
    {
      "commit": "cef1dde44f64f4ea3a44af7ee596d0889ecedb14",
      "tree": "bf8db5c8076a9d07a1578108d88ec2d719d07648",
      "parents": [
        "837515213f367cd980314dbe4ac2595ef112d2f9"
      ],
      "author": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Tue Jan 28 09:52:05 2020 -0800"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Tue Jan 28 09:52:51 2020 -0800"
      },
      "message": "Don\u0027t use the db in manage-projects\n\nDirect access to the db restricts where we can run manage-projects from\nand complicates testing. Instead rely on the list-groups ssh command to\nget group uuid info. Note that this should be tested using new\nintegration testing before we merge it.\n\nChange-Id: I6e3f0881398da8efeab5dfef370ad8d35163a7be\n"
    },
    {
      "commit": "837515213f367cd980314dbe4ac2595ef112d2f9",
      "tree": "764fe937877ac8c533cb37f69aabf4651a20663e",
      "parents": [
        "ccb152d532d611228f52fc4e6194b8f30e929be4"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Wed Dec 18 10:02:09 2019 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Wed Dec 18 10:55:16 2019 -0500"
      },
      "message": "Don\u0027t index retired projects\n\nWhile they should just have a README, it\u0027s still a waste of energy\nfor codesearch to index them in the first place.\n\nRemove the special condition for deb- repos - they are all retired.\n\nChange-Id: I60d90fccb607fcd48de42739188af5fb241ded7f\n"
    },
    {
      "commit": "ccb152d532d611228f52fc4e6194b8f30e929be4",
      "tree": "e034d7b9b018dba52ca51a1cf6ff7f068a7565b6",
      "parents": [
        "12bd0e0f358adfae7fdb43c02de853f519fca50a"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Wed Dec 18 10:54:48 2019 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Wed Dec 18 10:55:16 2019 -0500"
      },
      "message": "Fix create_hound_config for python3\n\npep8 did a business!\n\nChange-Id: I1ffc99e30a0b5fc41c1f2485546b10553c525915\n"
    },
    {
      "commit": "12bd0e0f358adfae7fdb43c02de853f519fca50a",
      "tree": "9378eff7688828fb3b4ed49ecb28d4424151e6b8",
      "parents": [
        "1d08f4e920f0406863bc4872695b0db5f4e0d303"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Mon May 13 09:30:09 2019 +1000"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Mon May 13 09:35:46 2019 +1000"
      },
      "message": "Hound config: disambiguate key names for projects in new namespaces\n\nBecause we use os.path.basename() for the key in the config\ndictionary, openstack/project-config and zuul/project-config map to\nthe same key and overwrite each other, thus we only get indexing on\none or the other.\n\nUse the full project name as the key instead.\n\nChange-Id: I8a32ddc2e24211cc9300a2f90df19e1354251ae5\n"
    },
    {
      "commit": "1d08f4e920f0406863bc4872695b0db5f4e0d303",
      "tree": "4012f6f47d4a1489f31428b7bdb596ee35062775",
      "parents": [
        "cfea72a76f173b528a31376e69d72098b0308121"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Apr 23 13:23:44 2019 +0000"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Apr 23 13:29:08 2019 +0000"
      },
      "message": "Use opendev and https by default\n\nWe are currently defaulting the hound config to using git://.\nChange that to https and change the git host to opendev.org.\n\nAlso, change the path and anchor so that they will be correct\nfor gitea.\n\nChange-Id: Icd1eef1a5476fbb7e0fff97e0d401b79e371fb36\n"
    },
    {
      "commit": "cfea72a76f173b528a31376e69d72098b0308121",
      "tree": "738689cb3f059dacd1955d61d1ae1ef614e0310d",
      "parents": [
        "c132a30732c8a96161ea5f9503491b1f5ec7a1f9"
      ],
      "author": {
        "name": "OpenDev Sysadmins",
        "email": "openstack-infra@lists.openstack.org",
        "time": "Fri Apr 19 19:26:02 2019 +0000"
      },
      "committer": {
        "name": "OpenDev Sysadmins",
        "email": "openstack-infra@lists.openstack.org",
        "time": "Fri Apr 19 19:26:02 2019 +0000"
      },
      "message": "OpenDev Migration Patch\n\nThis commit was bulk generated and pushed by the OpenDev sysadmins\nas a part of the Git hosting and code review systems migration\ndetailed in these mailing list posts:\n\nhttp://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html\nhttp://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html\n\nAttempts have been made to correct repository namespaces and\nhostnames based on simple pattern matching, but it\u0027s possible some\nwere updated incorrectly or missed entirely. Please reach out to us\nvia the contact information listed at https://opendev.org/ with any\nquestions you may have.\n"
    },
    {
      "commit": "c132a30732c8a96161ea5f9503491b1f5ec7a1f9",
      "tree": "349e02fffc0372393ac4c7c09e92066fdfbebcd8",
      "parents": [
        "dcd27390693ad3452baa4929a04959766eccddba"
      ],
      "author": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Sat Jan 12 15:34:55 2019 +0000"
      },
      "committer": {
        "name": "Joshua Hesketh",
        "email": "josh@nitrotech.org",
        "time": "Tue Apr 09 12:39:24 2019 +0000"
      },
      "message": "Correct blueprint topic links for modern Gerrit\n\nThe Gerrit query URL pattern has changed, so correct how we form it\nin the update_blueprint hook to match expectations of current Gerrit\nversions.\n\nChange-Id: I368d0d30451051ab88a7b07dc6a2fbe7c4ddb886\n"
    },
    {
      "commit": "f9771e88ca433dfe0730ae9c0795b9f367004659",
      "tree": "09e0f428c02169b6673d2f6887966487990d177d",
      "parents": [
        "dcd27390693ad3452baa4929a04959766eccddba"
      ],
      "author": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Mon Mar 18 15:03:46 2019 -0700"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Mon Mar 18 15:03:46 2019 -0700"
      },
      "message": "Inspect all configs in manage-projects\n\nWe were skipping the setting of retired project acls in manage-projects\nbecause we were iterating over projects that weren\u0027t retired. In\nmanage-projects we don\u0027t want to skip over retired projects so that we\ncan retire the projects properly.\n\nAddress this by adding a new registry property that returns all projects\nretired or not then iterate over that in manage-projects.\n\nChange-Id: I7aa89b53696fb0fca262fc7068e5e2ad2b7ad8fc\n"
    },
    {
      "commit": "dcd27390693ad3452baa4929a04959766eccddba",
      "tree": "173ebded09eca725ae5a442c337ee8966d65ab1a",
      "parents": [
        "0673abe3389c5156ccb3895c46f76a7984697d74"
      ],
      "author": {
        "name": "azvyagintsev",
        "email": "azvyagintsev@mirantis.com",
        "time": "Thu Dec 20 20:52:26 2018 +0200"
      },
      "committer": {
        "name": "azvyagintsev",
        "email": "azvyagintsev@mirantis.com",
        "time": "Fri Dec 21 16:43:12 2018 +0200"
      },
      "message": "manage_projects: exit with error code\n\n * Currently, manage_projects always perform\n   `exit 0`, even if some errors were.\n * Patch would add `exit 1` beh., in\n   case any issues were during processing.\n   It would affect only exit code , and will not\n   stop processing.\n * Misc: perform auto-ident\n\nChange-Id: I50d425e5a9e02441a50f7b1d32219485f80e6632\n"
    },
    {
      "commit": "0673abe3389c5156ccb3895c46f76a7984697d74",
      "tree": "41fe37b83f1e7f66d47977eab734f2f682a23a87",
      "parents": [
        "f21a8fef149e141113e29757246764278161b20f"
      ],
      "author": {
        "name": "Andreas Jaeger",
        "email": "aj@suse.com",
        "time": "Fri Oct 26 08:24:54 2018 +0200"
      },
      "committer": {
        "name": "Andreas Jaeger",
        "email": "aj@suse.com",
        "time": "Mon Oct 29 13:19:02 2018 +0100"
      },
      "message": "Use https for links\n\nUse https instead of http when link to docs.openstack.org.\n\nChange-Id: Iaf643a1c110aac53cd036537a583d58eebbf817d\n"
    },
    {
      "commit": "f21a8fef149e141113e29757246764278161b20f",
      "tree": "094de911ef4c573b6ec18a49298079488419d481",
      "parents": [
        "6dfb888f4e0485a7fb4ade598bcb23cf920db4a5"
      ],
      "author": {
        "name": "Christian Berendt",
        "email": "berendt@betacloud-solutions.de",
        "time": "Thu Apr 28 16:09:01 2016 -0500"
      },
      "committer": {
        "name": "Christian Berendt",
        "email": "berendt@betacloud-solutions.de",
        "time": "Fri May 18 08:30:31 2018 +0000"
      },
      "message": "Remove leading whitespaces from the Gerrit welcome message\n\nChange-Id: I02f02b361ded18d21013c2d8c58986340a6e5dfb\n"
    },
    {
      "commit": "6dfb888f4e0485a7fb4ade598bcb23cf920db4a5",
      "tree": "a66773a206fcf9342bd510c69a52d644a62222ca",
      "parents": [
        "5b68b2227fb1ecbc8a284576a2034cf8c44d7722"
      ],
      "author": {
        "name": "James E. Blair",
        "email": "jeblair@redhat.com",
        "time": "Wed Mar 21 14:05:57 2018 -0700"
      },
      "committer": {
        "name": "James E. Blair",
        "email": "jeblair@redhat.com",
        "time": "Fri Mar 23 15:04:20 2018 -0700"
      },
      "message": "Support cgit alias sites\n\nThis allows creation of new top-level sites and aliasing of\nexisting repos into those sites (under arbitrary names).\n\nFor example, this will let us list only the zuul projects under\ngit.zuul-ci.org.  This scheme does not extend to the git protocol,\nwhich we will start to deprecate.\n\nChange-Id: I4c759f02d8d7e77439984d8ad1f012bd381fae59\nStory: 2001382\nTask: 6092\n"
    },
    {
      "commit": "5b68b2227fb1ecbc8a284576a2034cf8c44d7722",
      "tree": "54bb3de4fa8a5d3929959bba5f6080bc9efaac5c",
      "parents": [
        "8b50df9eada11ceb24d95b8f3910a38b75a805fa"
      ],
      "author": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Sat Sep 23 12:21:13 2017 -0700"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Sat Sep 23 12:21:13 2017 -0700"
      },
      "message": "Handle newer gerrit in update blueprint script\n\nNewer gerrit provides the project name and the branch the change is\nproposed against as well as the change id itself in the --change\nargument to patchset created hooks. This is a behavior change that we\nhave to handle as old gerrit passed only the change id.\n\nWe do this by going to the old behavior of the script by splitting off\nthe change id from the new string and using only that. Note that this\nmay not be strictly correct as multiple changes can share a change id\n(likely why gerrit made this change in the first place). We can worry\nabout properly correct behavior in future updates.\n\nChange-Id: Idef56e98ed6c753a58b766024295b2f5147e3aea\n"
    },
    {
      "commit": "8b50df9eada11ceb24d95b8f3910a38b75a805fa",
      "tree": "df01bd5481c519085dd9388dab1ebf3f7e2b8005",
      "parents": [
        "402376d52b3b7b18147d995ab78ddc79856c2830",
        "87b466c0c5791d1a05069efbf3d60e6966fe375c"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Sep 22 21:37:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Sep 22 21:37:32 2017 +0000"
      },
      "message": "Merge \"Remove self from group after group creation\""
    },
    {
      "commit": "87b466c0c5791d1a05069efbf3d60e6966fe375c",
      "tree": "c091d0b7910486e5158b4e64b974e022453d7780",
      "parents": [
        "e8da5932e1b5b030388c01b5231bed1f05077af3"
      ],
      "author": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Fri Sep 22 10:26:07 2017 -0700"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Fri Sep 22 10:27:21 2017 -0700"
      },
      "message": "Remove self from group after group creation\n\nNewer gerrit automatically adds the user creating a group to that group.\nWe don\u0027t actually want this behavior as the user used to manage this is\nused for nothing else. Check if the current user was added to the group\nand if so remove it.\n\nDepends-On: Id5d8915f2c0bf6f6057b414785b8ec1b18e810f2\nChange-Id: Ia0ca5faaaa466ae7a930bbbfb78e2975771f3af9\n"
    },
    {
      "commit": "402376d52b3b7b18147d995ab78ddc79856c2830",
      "tree": "e8648b8baf506fcefd0f7d2819278dcebdd67a49",
      "parents": [
        "e8da5932e1b5b030388c01b5231bed1f05077af3"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Fri Sep 22 12:01:54 2017 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Fri Sep 22 12:01:54 2017 -0500"
      },
      "message": "Remove a retired reference missed in previous refactor\n\nWe pulled the application of retired up into util, but didn\u0027t delete\nthis reference to the variable in the tuple.\n\nChange-Id: I190204fbd4d4c0edf5d116937e8240f94432832d\n"
    },
    {
      "commit": "e8da5932e1b5b030388c01b5231bed1f05077af3",
      "tree": "23a71656f52712524ff49dd16e1b3488fa17a17d",
      "parents": [
        "3659338a0fce746372c75da58828b035d50728f8",
        "858dc72bf7347773bba3dd9be648bf5be7eed6a9"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Sep 22 15:13:15 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Sep 22 15:13:15 2017 +0000"
      },
      "message": "Merge \"Revert \"Add description to needs_update calculations\"\""
    },
    {
      "commit": "3659338a0fce746372c75da58828b035d50728f8",
      "tree": "5b475b513394f4ff30d86b116430ba6c67b10703",
      "parents": [
        "ec7dd47748706f3192b581498586caa2ba049156",
        "fd35ff1cdbafe1db1ce9eafecdbb8bcca0029086"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Sep 22 15:10:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Sep 22 15:10:55 2017 +0000"
      },
      "message": "Merge \"Remove extra writing of description\""
    },
    {
      "commit": "858dc72bf7347773bba3dd9be648bf5be7eed6a9",
      "tree": "98a2d5400e0293dbdd24b1e36bb35ba5feea209d",
      "parents": [
        "fd35ff1cdbafe1db1ce9eafecdbb8bcca0029086"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Fri Sep 22 05:53:27 2017 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Fri Sep 22 05:53:35 2017 -0500"
      },
      "message": "Revert \"Add description to needs_update calculations\"\n\nThis reverts commit f12da781327ba6aaa87debb91326bcdcd1c5f426.\n\nChange-Id: I0bdd154deea16f345f3ba1aed15c419393bb6d93\n"
    },
    {
      "commit": "fd35ff1cdbafe1db1ce9eafecdbb8bcca0029086",
      "tree": "7fe601eee7ecc3e6e1c828bac8bf68bed926c5d7",
      "parents": [
        "b5c5734b6ecec929fb0203ddab01156977344aad"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Sep 21 11:23:54 2017 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Sep 21 11:23:54 2017 -0500"
      },
      "message": "Remove extra writing of description\n\nThis snuck in via bad merge resolution.\n\nChange-Id: If2a737580f7cca16a9e8889d1850657a5ab61490\n"
    },
    {
      "commit": "ec7dd47748706f3192b581498586caa2ba049156",
      "tree": "1c97aa59368297eea71c091d6268c9749c2915ab",
      "parents": [
        "d7e5278ae9f8147624538d737c1bb1ffa0793032",
        "b5c5734b6ecec929fb0203ddab01156977344aad"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Sep 21 16:03:37 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Sep 21 16:03:37 2017 +0000"
      },
      "message": "Merge \"Include -attic in retired calculations\""
    },
    {
      "commit": "b5c5734b6ecec929fb0203ddab01156977344aad",
      "tree": "b46ca11a02e1c87c2c9e698ec3a73ab27f471fbe",
      "parents": [
        "4b86a52f0dac62889a6894b0d1d3f479ed9591f9"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Sep 21 09:39:41 2017 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Sep 21 09:43:14 2017 -0500"
      },
      "message": "Include -attic in retired calculations\n\nThe retired thing works pretty well with acls - but our attic repos\nare different. Retire them too.\n\nChange-Id: Id25743db58ce4a1e3ba42e84fc298e737ec5f8a3\n"
    },
    {
      "commit": "d7e5278ae9f8147624538d737c1bb1ffa0793032",
      "tree": "912d507e69cc58e29594325489f8a54440453b07",
      "parents": [
        "88abd44dd6158b199068e286f1fd1ac03684287e",
        "4b86a52f0dac62889a6894b0d1d3f479ed9591f9"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Sep 20 18:56:15 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Sep 20 18:56:15 2017 +0000"
      },
      "message": "Merge \"Make retired acl check less greedy\""
    },
    {
      "commit": "88abd44dd6158b199068e286f1fd1ac03684287e",
      "tree": "8a9699e02e974c717fde853cc096f7b24c420eb2",
      "parents": [
        "d2927bb5e509c9133f6fc733c625674b653ce54b",
        "861bff7163741a083ab409d9b5f4a2638f434f20"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Sep 20 18:31:31 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Sep 20 18:31:31 2017 +0000"
      },
      "message": "Merge \"Don\u0027t include retired projects for codesearch\""
    },
    {
      "commit": "d2927bb5e509c9133f6fc733c625674b653ce54b",
      "tree": "43765a6c0ad6d86fcf275353fafb3cbf4bb8e420",
      "parents": [
        "e0261cc01c8636b1f15cd30fa3ebc8c1e626c138",
        "0db52843ed0a50d2e241618ecb2477d47230ed4f"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Sep 20 18:30:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Sep 20 18:30:00 2017 +0000"
      },
      "message": "Merge \"Stop showing retired repos in cgit\""
    },
    {
      "commit": "e0261cc01c8636b1f15cd30fa3ebc8c1e626c138",
      "tree": "92327efdba4b76d05ee30cf303ddd41f2a323595",
      "parents": [
        "21f16e5c9d435c77abf0f15fb8be91384ceb7b98",
        "f12da781327ba6aaa87debb91326bcdcd1c5f426"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Sep 20 18:28:13 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Sep 20 18:28:13 2017 +0000"
      },
      "message": "Merge \"Add description to needs_update calculations\""
    },
    {
      "commit": "21f16e5c9d435c77abf0f15fb8be91384ceb7b98",
      "tree": "f09a4be10a7cf3c1feb75a3f179322bb812b722f",
      "parents": [
        "63f0ba511572149c41a9affebddb0ef3c47140f9",
        "45585f0c481dba32103c73707c9a9cf088527ea7"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Sep 20 18:17:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Sep 20 18:17:55 2017 +0000"
      },
      "message": "Merge \"Don\u0027t mark as created in github until we\u0027re done\""
    },
    {
      "commit": "4b86a52f0dac62889a6894b0d1d3f479ed9591f9",
      "tree": "a8af5803c86b6926b9102ffe145999d0872c4c69",
      "parents": [
        "861bff7163741a083ab409d9b5f4a2638f434f20"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Wed Sep 20 13:14:02 2017 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Wed Sep 20 13:14:02 2017 -0500"
      },
      "message": "Make retired acl check less greedy\n\nChange-Id: I03ef4483f14b41e52b07e40cabd573a3b4a3eef5\n"
    },
    {
      "commit": "861bff7163741a083ab409d9b5f4a2638f434f20",
      "tree": "65ef1f28bccc0991fe845ed8e9559233b639a0a5",
      "parents": [
        "0db52843ed0a50d2e241618ecb2477d47230ed4f"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Aug 29 14:39:16 2017 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Aug 29 14:39:16 2017 -0500"
      },
      "message": "Don\u0027t include retired projects for codesearch\n\nThey just take up extra space.\n\nChange-Id: I105519f577cefac207743bcbc9bfc096798e4dff\n"
    },
    {
      "commit": "63f0ba511572149c41a9affebddb0ef3c47140f9",
      "tree": "0776978fcce99c1dd507b8ccb5fb24406debe82d",
      "parents": [
        "3da5fcba0a204bf4bd41edf99c5c55954b558042"
      ],
      "author": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Fri Jul 21 19:47:02 2017 +0000"
      },
      "committer": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Fri Jul 21 19:47:02 2017 +0000"
      },
      "message": "Update bugs only with active Gerrit accounts\n\nWhen determining the LP assignee for a bug, constrain the Gerrit DB\nquery to only active accounts. Otherwise an incorrect OpenId for a\ndefunct account may be selected instead of the intended one.\n\nChange-Id: I34e64362dd89c1d678a1f641244274fe27b5bdca\n"
    },
    {
      "commit": "0db52843ed0a50d2e241618ecb2477d47230ed4f",
      "tree": "a54cbb6d2fabcba2f3134686c8373b1f0387e3cb",
      "parents": [
        "f12da781327ba6aaa87debb91326bcdcd1c5f426"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Jun 29 11:20:03 2017 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Jun 29 11:23:58 2017 -0500"
      },
      "message": "Stop showing retired repos in cgit\n\nThere are projects that are no-longer with us. Let\u0027s not broadcast\nthem to the world in our cgit mirrors.\n\nChange-Id: Ie2d66fb8f41dd7035a209b48721b08c4f55fd75a\n"
    },
    {
      "commit": "f12da781327ba6aaa87debb91326bcdcd1c5f426",
      "tree": "2e1b1ea48c9b864f29a7d04f58837a48032cd158",
      "parents": [
        "45585f0c481dba32103c73707c9a9cf088527ea7"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Jun 29 08:51:49 2017 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Jun 29 11:23:15 2017 -0500"
      },
      "message": "Add description to needs_update calculations\n\nWe\u0027re caching the data already. If we at this, it\u0027ll cause us to update\ndescriptions in github when they change.\n\nChange-Id: I1941958cca6387bd17fd3dcfd3c519af8b355453\n"
    },
    {
      "commit": "45585f0c481dba32103c73707c9a9cf088527ea7",
      "tree": "1443b9e660a741956799a5863e989521f7b626a3",
      "parents": [
        "3da5fcba0a204bf4bd41edf99c5c55954b558042"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue May 23 08:21:20 2017 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Jun 29 11:23:15 2017 -0500"
      },
      "message": "Don\u0027t mark as created in github until we\u0027re done\n\ncreated-in-github being True prevents the subsequent github actions\nfrom happening. If we fail updating the github project after creation\nthough, with the current code we can be left with half-created projects.\n\nDon\u0027t set it until we\u0027ve actually make it through.\n\nChange-Id: I159eda5d1a3e5a30eed5f322d1e29477a80c5bee\n"
    },
    {
      "commit": "3da5fcba0a204bf4bd41edf99c5c55954b558042",
      "tree": "3afa2b1ab8938017186ba4af38754b679ac7942a",
      "parents": [
        "135363a63584601869850eaaa69a36dc031c3f47"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Jun 23 10:39:08 2017 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Jun 23 10:39:08 2017 -0400"
      },
      "message": "strip out newlines when writing repo.desc\n\nIf newlines end up in the description this breaks cgit hard, strip\nthose out.\n\nChange-Id: I0f77c36503c522b50e6ae690acd5ff9c6caa7bec\n"
    },
    {
      "commit": "135363a63584601869850eaaa69a36dc031c3f47",
      "tree": "b3d375fc67ea20567e448d27d51378911106f66b",
      "parents": [
        "b88dafc17d08111cd7b8d6448c8929c69944108a"
      ],
      "author": {
        "name": "Andreas Jaeger",
        "email": "aj@suse.com",
        "time": "Fri Mar 24 18:09:39 2017 +0100"
      },
      "committer": {
        "name": "Andreas Jaeger",
        "email": "aj@suse.com",
        "time": "Fri Mar 24 18:09:39 2017 +0100"
      },
      "message": "Fix startswith usage\n\nFix my previous change, startswith needs a tuple, not a list.\n\nChange-Id: I3df0e711dae7553be1946ece5b41d6407986f588\n"
    },
    {
      "commit": "b88dafc17d08111cd7b8d6448c8929c69944108a",
      "tree": "09474bd3cffb970a7f95beaa01d928ae4aa70f57",
      "parents": [
        "b83cb8446b736611945879cc514205383ddcc3e0",
        "f9131bd5023e252b9daefd478e8d615eca0606de"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Mar 23 20:32:53 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Mar 23 20:32:53 2017 +0000"
      },
      "message": "Merge \"If we\u0027re going to apply acls, we need a dir\""
    },
    {
      "commit": "b83cb8446b736611945879cc514205383ddcc3e0",
      "tree": "ea19a3e3d40373690610adb374caf1f41655cee2",
      "parents": [
        "f8e4f4450603edd105195a213427891068ae859b",
        "f18b06f54dc40d7f112223cc97cf61be88a2e30c"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Mar 23 18:48:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Mar 23 18:48:16 2017 +0000"
      },
      "message": "Merge \"Codesearch: Ignore dead repos\""
    },
    {
      "commit": "f8e4f4450603edd105195a213427891068ae859b",
      "tree": "678acb99c1242b07a5011c647c34b1eaa9264870",
      "parents": [
        "205a1f5dcc91aa6d2ab8c9a316de4f165063d819",
        "0f7ddd95cfb729c9ed4f98cc670a844b07b3b06d"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Mar 23 18:48:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Mar 23 18:48:10 2017 +0000"
      },
      "message": "Merge \"hound: ignore deb-* projects\""
    },
    {
      "commit": "205a1f5dcc91aa6d2ab8c9a316de4f165063d819",
      "tree": "ad0ebe41f3d53390825d5d3732aaaa82aac13ecb",
      "parents": [
        "61ee4bd6737a4a019e3757db02bfb7d78f6dfa46",
        "38f3a87ad6e3e8c01b7b2d1ade68e1d0e4e79bfb"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Mar 23 18:39:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Mar 23 18:39:20 2017 +0000"
      },
      "message": "Merge \"Deduplicate some more code\""
    },
    {
      "commit": "f9131bd5023e252b9daefd478e8d615eca0606de",
      "tree": "689de0a834293343dff5d353bd7985fe71cf01f3",
      "parents": [
        "38f3a87ad6e3e8c01b7b2d1ade68e1d0e4e79bfb"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Mar 23 12:28:02 2017 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Mar 23 13:26:31 2017 -0500"
      },
      "message": "If we\u0027re going to apply acls, we need a dir\n\nWe need the git repo to exist if we need to send in acls.\n\nChange-Id: I29b0e8dae152e41c1a9e0556a74caa5f70813706\n"
    },
    {
      "commit": "f18b06f54dc40d7f112223cc97cf61be88a2e30c",
      "tree": "b7532a05f1db7e05fe87401df91523d4a77062b0",
      "parents": [
        "0f7ddd95cfb729c9ed4f98cc670a844b07b3b06d"
      ],
      "author": {
        "name": "Andreas Jaeger",
        "email": "aj@suse.com",
        "time": "Thu Mar 16 18:31:38 2017 +0100"
      },
      "committer": {
        "name": "Andreas Jaeger",
        "email": "aj@suse.com",
        "time": "Thu Mar 16 19:10:08 2017 +0100"
      },
      "message": "Codesearch: Ignore dead repos\n\nIgnore all dead repos that are in openstack-attic and stackforge\nnamespaces - including stackforge-attic.\n\nCodesearch does not need to index and show these as they are dead.\n\nChange-Id: Ie752399791ac1b650045516acb038f7313a182db\n"
    },
    {
      "commit": "0f7ddd95cfb729c9ed4f98cc670a844b07b3b06d",
      "tree": "4ae6803d6bc36c98ff13da725b1bd78bc20a2210",
      "parents": [
        "61ee4bd6737a4a019e3757db02bfb7d78f6dfa46"
      ],
      "author": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Thu Mar 16 06:03:11 2017 +0000"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Thu Mar 16 06:05:01 2017 +0000"
      },
      "message": "hound: ignore deb-* projects\n\nThey are forks for actual projects, and searching against those repos is\nwasteful and produces duplicate entries for projects that actually\nmaintain the code. Upstream developers are usually not interested in\nsearching through those repos.\n\nThis patch ignores those repos completely.\n\nChange-Id: I53d0e129a13f4ca1c7a6dfe189ce33e61f0778b4\n"
    },
    {
      "commit": "61ee4bd6737a4a019e3757db02bfb7d78f6dfa46",
      "tree": "2dc89a1bc50d525bae18d66597bb13cf56b24130",
      "parents": [
        "9b08e078212e0f960bd8a8b0e43b3a92cd991ef4",
        "d9dc2e264a419239d7e1fd7a873317a91d7636f2"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Feb 17 14:46:15 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Feb 17 14:46:15 2017 +0000"
      },
      "message": "Merge \"Allow to customize values in .gitreview file\""
    },
    {
      "commit": "9b08e078212e0f960bd8a8b0e43b3a92cd991ef4",
      "tree": "6878e2a191f5e765ac8c427e5d7a5b2fc56ddb3c",
      "parents": [
        "1a1e6bc75be72abb3eb28d2e86443411de36c016",
        "1013bd7b2457941b906e16f2a822451f094c7736"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Feb 17 14:44:53 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Feb 17 14:44:53 2017 +0000"
      },
      "message": "Merge \"Make protocol configurable\""
    },
    {
      "commit": "38f3a87ad6e3e8c01b7b2d1ade68e1d0e4e79bfb",
      "tree": "0264d2b0c305cef5588f79188d7352f6252b80a3",
      "parents": [
        "36f4fa47f3d5c872989cf66392169b2a3a7249b3"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Fri Feb 17 08:22:42 2017 -0600"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Fri Feb 17 08:44:25 2017 -0600"
      },
      "message": "Deduplicate some more code\n\nfsck_repo is used in both files, so move it to utils. push_to_gerrit is\nonly used in manage-projects and sync_upstream is only used in\ntrack-upstream.\n\nChange-Id: Ia81c8a54023d5f0cac6443a6e28475b0d2243aa0\n"
    },
    {
      "commit": "1a1e6bc75be72abb3eb28d2e86443411de36c016",
      "tree": "5e29081f46dd494a1a51b40074fa0425e28469a4",
      "parents": [
        "a9728a54e1fc66796730b75c8978db30b8fd20cd",
        "c3a621900f9672b8e42b7e0dd969016936a49c8a"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Feb 17 14:43:04 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Feb 17 14:43:04 2017 +0000"
      },
      "message": "Merge \"Only expire open reviews\""
    },
    {
      "commit": "a9728a54e1fc66796730b75c8978db30b8fd20cd",
      "tree": "dee0b400ee5cbe651a61f7466b481260145db719",
      "parents": [
        "9ae0c0629955345f6bdf2e6f44c9e31548598fc9",
        "36f4fa47f3d5c872989cf66392169b2a3a7249b3"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Feb 17 14:42:31 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Feb 17 14:42:31 2017 +0000"
      },
      "message": "Merge \"Move make_local_copy to utils\""
    },
    {
      "commit": "9ae0c0629955345f6bdf2e6f44c9e31548598fc9",
      "tree": "089882a67d5760a9bd2163ea513443bbcc0474f2",
      "parents": [
        "a4b8f3668baa5cc065a207a2183898c64fe15f15",
        "882eea76d2d0c6d7415991796aadca0e95d51866"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Feb 17 14:42:01 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Feb 17 14:42:01 2017 +0000"
      },
      "message": "Merge \"Skip retry loop on first check for group\""
    },
    {
      "commit": "d9dc2e264a419239d7e1fd7a873317a91d7636f2",
      "tree": "f0c166f075c29fc8ea7e178465ed6363ca425f37",
      "parents": [
        "6d1ba2f1696a9f8f502e39b804505cfa2a690e22"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Tue Dec 13 12:16:26 2016 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Fri Feb 17 16:30:20 2017 +0200"
      },
      "message": "Allow to customize values in .gitreview file\n\nThere might be situation when project creation can be done from\nother \"endpoint\" then common users have access. So we need to have\nan ability to customise GERRIT_HOST and GERRIT_PORT parameters\ninside .gitreview file for newly created project.\n\nThis change adds two parameters, that can be re-defined in\nprojects.ini file to format correct connection string to gerrit:\n  * GITREVIEW_GERRIT_HOST (by default \u003d GERRIT_HOST)\n  * GITREVIEW_GERRIT_PORT (by default \u003d GERRIT_PORT)\n\nChange-Id: Ie3fc35c5b6714c579314faa18160594aeae79cb7\n"
    },
    {
      "commit": "36f4fa47f3d5c872989cf66392169b2a3a7249b3",
      "tree": "c84bf3f5c59920a9eb8e18840b2bfb4f6c8910b1",
      "parents": [
        "fa743024d37118ae8705fc0420d834e5cc5279c2"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Feb 14 12:24:13 2017 -0600"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Wed Feb 15 07:53:23 2017 -0600"
      },
      "message": "Move make_local_copy to utils\n\nThis is also shared by manage-projecs and track-upstream - but there was\nalso a change to its logic in the former patch which would be hard to\nsee if we moved it and changed it in the same patch.\n\nChange-Id: Iab287596d1e0db529e9557cc057d558d5b7ecccb\n"
    },
    {
      "commit": "a4b8f3668baa5cc065a207a2183898c64fe15f15",
      "tree": "b250244dc2cc2cebe11f461a8cbed1bbe1143aee",
      "parents": [
        "fa743024d37118ae8705fc0420d834e5cc5279c2"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Feb 14 08:34:00 2017 -0600"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Feb 14 12:20:12 2017 -0600"
      },
      "message": "Correct a boolean inversion for github updating\n\nThe not is important. Also, add in some more logging for when it does\nhappen.\n\nChange-Id: I3b2a8779a3d699f72682c93f418b498506b86a01\n"
    },
    {
      "commit": "fa743024d37118ae8705fc0420d834e5cc5279c2",
      "tree": "360a43eac30cf69ab5de372e41270fa03d3851d5",
      "parents": [
        "6d1ba2f1696a9f8f502e39b804505cfa2a690e22"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Feb 14 07:36:34 2017 -0600"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Feb 14 12:20:07 2017 -0600"
      },
      "message": "Split track-upstream from manage-projects\n\nWe spend a very large amount of time in track-upstream code now because\nof all of the debian repos. That\u0027s fine - but it makes iterating on\nproject creation issues exceptionally difficult. Also, now that we\u0027re\ncaching the flag as to whether or not the project is created,\ntrack-upstream can read it and know whether or not it\u0027s safe to run for\na given project.\n\nChange-Id: I454b1ba400dc86abcc9b939564eb4eb7c324308c\n"
    },
    {
      "commit": "6d1ba2f1696a9f8f502e39b804505cfa2a690e22",
      "tree": "f4b9df0c124879b3766645798694661e0b019e26",
      "parents": [
        "182fede1b43d63280c137bfcb60b022be51953b5"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Mon Feb 13 09:36:04 2017 -0600"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Mon Feb 13 17:44:20 2017 -0600"
      },
      "message": "Continue to optimize manage-projects for resiliency\n\nSaving the state for having created the project was sticking to false.\nIf we had the git repo locally but it wasn\u0027t in gerrit, the logic was\nall message up. Checking for homepage and downloads in github kills us -\nalthough it would be fine if we\u0027d started from caching homepage and\ndescription in the first place, so maybe we need a script that sets\nstatus quo in the cache file.\n\nChange-Id: I15802082c0bef9e9362eb9482b058f81d1e566d7\n"
    },
    {
      "commit": "182fede1b43d63280c137bfcb60b022be51953b5",
      "tree": "bed3470b57463049fd68370ee2303eb9a510af8c",
      "parents": [
        "725317ed1a564b52deb6e22c2706c19c9fc4535c"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Mon Feb 13 09:36:04 2017 -0600"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Mon Feb 13 09:36:04 2017 -0600"
      },
      "message": "Make a few less github API calls\n\nWe continue to hit the GH rate limit. But honestly, in most cases, we\nshould not need to make a bazillion GH api calls.\n\nChange-Id: Iac709a4f7f18d6348b21520bbc7aeacfa991ec1a\n"
    },
    {
      "commit": "725317ed1a564b52deb6e22c2706c19c9fc4535c",
      "tree": "449950b2678072efaa117af1525726433a2b3d3c",
      "parents": [
        "1c7264f9252232574e6498c12fe96a0d18fad062"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Feb 07 09:54:12 2017 -0600"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Feb 09 17:42:30 2017 -0600"
      },
      "message": "Cache acl application and skip if necessary\n\nTurns out processing git acls is the most expensive thing we do.\n\nChange-Id: I14a46a9af2b32c0636db457cdd59fd2a118d0f85\n"
    },
    {
      "commit": "1c7264f9252232574e6498c12fe96a0d18fad062",
      "tree": "28fd43589157ed9c6a4ffcfe116390af1cf3b8ac",
      "parents": [
        "961da2b3b4b45fb222a9bf5faba4879946d6b29f"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Feb 07 08:44:00 2017 -0600"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Feb 07 09:56:05 2017 -0600"
      },
      "message": "Cache status of stages in manage-projects\n\nImplement a trivial caching system that will allow us to skip even\nattempting gerrit and github remote operations for projects that we\u0027ve\nprocessed successfully in previous passes. This should hopefully reduce\nthe amount of time we spend processing the projects.yaml file.\n\nIn the future, we could extend this to tracking more specific actions-\nsuch as the description set in github, so that we could know whether or\nnot they have changed and thus need to be processed again.\n\nIn this form, acls files will always be processed.\n\nChange-Id: I07b13c8663e6f9ee1255a4e56caf556ea49fb51b\n"
    },
    {
      "commit": "961da2b3b4b45fb222a9bf5faba4879946d6b29f",
      "tree": "66440e3c260bf761ff24d8c0ac86b9633d1042e3",
      "parents": [
        "3b7adef6fb90f45d480a121ad9e7ace94d1feff4",
        "6fa2848e517467f794c1a40361d9d51e439c41f1"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Feb 07 15:24:03 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Feb 07 15:24:03 2017 +0000"
      },
      "message": "Merge \"Update projects on GitHub\""
    },
    {
      "commit": "3b7adef6fb90f45d480a121ad9e7ace94d1feff4",
      "tree": "f640aa6299bc6ec17b2bebc5b066035712df5e89",
      "parents": [
        "a4ff735e886ddec9161443ff552e05e28ef289d4",
        "533faad18d0d4e6bc19d74a25cb13300e6b28acf"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Feb 07 15:18:37 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Feb 07 15:18:37 2017 +0000"
      },
      "message": "Merge \"Check git fsck output when importing projects\""
    },
    {
      "commit": "6fa2848e517467f794c1a40361d9d51e439c41f1",
      "tree": "909848dbc8511c2570433f8add7973381dde7dee",
      "parents": [
        "a4ff735e886ddec9161443ff552e05e28ef289d4"
      ],
      "author": {
        "name": "Olivier Lemasle",
        "email": "olivier.lemasle@apalia.net",
        "time": "Sun Feb 07 15:25:15 2016 +0100"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Feb 07 09:12:19 2017 -0600"
      },
      "message": "Update projects on GitHub\n\nIf project\u0027s attributes are modified, changes will now be reflected\non GitHub.\n\nChange-Id: I6775b55811a47402d3c774611436267f9074a53a\n"
    },
    {
      "commit": "882eea76d2d0c6d7415991796aadca0e95d51866",
      "tree": "daec4685ff475596a37e34f9523d6eb94290ea52",
      "parents": [
        "42b1cc8850f07c8895f365c4abe122652fe91d57"
      ],
      "author": {
        "name": "Darragh Bailey",
        "email": "dbailey@hpe.com",
        "time": "Tue Dec 20 12:38:29 2016 +0000"
      },
      "committer": {
        "name": "Darragh Bailey",
        "email": "daragh.bailey@gmail.com",
        "time": "Wed Jan 04 11:47:59 2017 +0000"
      },
      "message": "Skip retry loop on first check for group\n\nDon\u0027t retry checking the DB multiple times on first call to see if group\nexists when determining whether the group needs to be created.\n\nIf the group exists, a previous iteration would already have waited for\nthe group to be written down from the cache. So if nothing is returned\nthen the group does not exist, and there is no point rechecking multiple\ntimes to see if it will appear from the cache.\n\nThis speeds up creation of new groups by avoiding a 10 second wait\nbefore creation due to the first call for group uuid unnecessarily\nretrying multiple times.\n\nChange-Id: I0afbc716159e8aecf1ade6442d9b02674094fa08\n"
    },
    {
      "commit": "a4ff735e886ddec9161443ff552e05e28ef289d4",
      "tree": "9dc76b61a018334ee30cb2aa2498751736d7b968",
      "parents": [
        "42b1cc8850f07c8895f365c4abe122652fe91d57"
      ],
      "author": {
        "name": "James E. Blair",
        "email": "jeblair@redhat.com",
        "time": "Tue Dec 13 08:48:55 2016 -0800"
      },
      "committer": {
        "name": "James E. Blair",
        "email": "jeblair@redhat.com",
        "time": "Tue Dec 13 08:49:36 2016 -0800"
      },
      "message": "Switch SSO URL to login.ubuntu.com\n\nIt\u0027s the same site, but login.ubuntu.com is the \u0027real\u0027 one and\nlaunchpad.net is an alias. login.launchpad.net seems to be less\nimportant to the admins.\n\nChange-Id: Ic3a68886fb846699860a58ea76c16f2749f05897\n"
    },
    {
      "commit": "533faad18d0d4e6bc19d74a25cb13300e6b28acf",
      "tree": "045fd7ac3387a5d29b2dd8e75fe4c25de8a9ed8e",
      "parents": [
        "42b1cc8850f07c8895f365c4abe122652fe91d57"
      ],
      "author": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Wed Aug 17 15:55:05 2016 -0700"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Wed Aug 17 15:56:19 2016 -0700"
      },
      "message": "Check git fsck output when importing projects\n\nThis is a sanity check to properly log when repos are corrupt and not\nable to be imported into Gerrit. The import will fail either way but at\nleast with this change in place we will get more direct logging of the\nreason for the import failure.\n\nChange-Id: Ibb1839329065e5d4a9747f95ff21029148801874\n"
    },
    {
      "commit": "1013bd7b2457941b906e16f2a822451f094c7736",
      "tree": "fa68a00c8e2f631f17b42e9b1559817ab2092a99",
      "parents": [
        "3a9b21810c7ab3c342b1ae83dba53151a5c885fb"
      ],
      "author": {
        "name": "Spencer Krum",
        "email": "nibz@spencerkrum.com",
        "time": "Fri Jul 22 10:18:20 2016 -0700"
      },
      "committer": {
        "name": "Spencer Krum",
        "email": "nibz@spencerkrum.com",
        "time": "Tue Jul 26 13:57:03 2016 -0700"
      },
      "message": "Make protocol configurable\n\nSometimes, someone might want to clone using https\n\nChange-Id: I6cb9f1d698a100742185c7f73e081d37efecf7e6\n"
    },
    {
      "commit": "42b1cc8850f07c8895f365c4abe122652fe91d57",
      "tree": "430a545f580da2ac1dec002edb81b4151face7ec",
      "parents": [
        "3a9b21810c7ab3c342b1ae83dba53151a5c885fb"
      ],
      "author": {
        "name": "Gregory Haynes",
        "email": "greg@greghaynes.net",
        "time": "Tue Jun 14 18:44:55 2016 +0000"
      },
      "committer": {
        "name": "Gregory Haynes",
        "email": "greg@greghaynes.net",
        "time": "Tue Jun 14 18:46:01 2016 +0000"
      },
      "message": "Allow setting a default org in create_cgitrepos\n\nIts possible that projects don\u0027t follow the same org/project convention\nthat upstream openstack follows and instead just name projects with out\na prepended org. Allow setting a default org for this case.\n\nChange-Id: I826b041bf2d51dfcadef9d5a67c1845ebe9378a0\n"
    },
    {
      "commit": "3a9b21810c7ab3c342b1ae83dba53151a5c885fb",
      "tree": "b26e031f5a2c22905069ff6735b71afff7dcfb1c",
      "parents": [
        "f632bb6f8f700820f6033ddeb06a82ba5e997104",
        "6d97045c8ce87eda1700c7c5a9ecd3d94f8e5f72"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Mar 10 21:21:21 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Mar 10 21:21:21 2016 +0000"
      },
      "message": "Merge \"Use oauth token to create GitHub project if available\""
    },
    {
      "commit": "f632bb6f8f700820f6033ddeb06a82ba5e997104",
      "tree": "d2eb949807821cb7b66b2cb4849077d3c21fd215",
      "parents": [
        "0adaee5977ec455f734da95a0b6be080d27251d7",
        "4294e878dbe1da058ae2e9452dbdd86fc62ca412"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Mar 10 21:15:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Mar 10 21:15:34 2016 +0000"
      },
      "message": "Merge \"Remove argparse from requirements\""
    },
    {
      "commit": "0adaee5977ec455f734da95a0b6be080d27251d7",
      "tree": "450d69d1d41c3d9bda808e93ea3aebeeb3877bf5",
      "parents": [
        "a2d4e2f92f956127059d725a85734f669b8f195d"
      ],
      "author": {
        "name": "Mathieu Gagné",
        "email": "mgagne@iweb.com",
        "time": "Thu Nov 19 21:16:13 2015 -0500"
      },
      "committer": {
        "name": "Khai Do",
        "email": "zaro0508@gmail.com",
        "time": "Tue Feb 09 10:55:53 2016 -0800"
      },
      "message": "Don\u0027t create new groups for system ones\n\nA Gerrit bug[1] allowed manage_projects to create a Gerrit\ninternal group with the same name as a system group\n(\u0027Registered Users\u0027).  This happened after upgrading to\nGerrit 2.11 because there are existing projects with \u0027Registered\nUsers\u0027 in acls config files.  Even though Gerrit shouldn\u0027t allow\ncreation of a group with the same name as a system group,\nmanage_projects shouldn\u0027t even attempt to do it.\n\nThis change prevents manage_projecsts from creating\ngroups with the same name as Gerrit system groups.  It\nwill also add correct entries to group files for system groups.\nBelow is the group file entries that Gerrit expects for\nsystem groups:\n\nglobal:Anonymous-Users                  \tAnonymous Users\nglobal:Change-Owner                     \tChange Owner\nglobal:Project-Owners                   \tProject Owners\nglobal:Registered-Users                 \tRegistered Users\n\nFor backward compatibility, the existing group UUID will be returned\nif one is found in the database.\n\n[1] https://code.google.com/p/gerrit/issues/detail?id\u003d3831\n\nChange-Id: I17d6e1a5553f98ff910480d41a2ac7b3a2522809\n"
    },
    {
      "commit": "6d97045c8ce87eda1700c7c5a9ecd3d94f8e5f72",
      "tree": "3a31cbeea5ebfcef5e6b07a890b689e9962c8899",
      "parents": [
        "a2d4e2f92f956127059d725a85734f669b8f195d"
      ],
      "author": {
        "name": "Mathieu Gagné",
        "email": "mgagne@iweb.com",
        "time": "Mon Feb 08 13:29:35 2016 -0500"
      },
      "committer": {
        "name": "Mathieu Gagné",
        "email": "mgagne@iweb.com",
        "time": "Mon Feb 08 13:39:13 2016 -0500"
      },
      "message": "Use oauth token to create GitHub project if available\n\nMake sure you have repo/public_repo and write:org scopes.\n\nChange-Id: I773331d2b0051865d783af5024fac1490c64c782\n"
    },
    {
      "commit": "4294e878dbe1da058ae2e9452dbdd86fc62ca412",
      "tree": "199126164bdad66cc832901e03425c8d2601f2d3",
      "parents": [
        "a2d4e2f92f956127059d725a85734f669b8f195d"
      ],
      "author": {
        "name": "Andreas Jaeger",
        "email": "aj@suse.com",
        "time": "Wed Jan 20 19:32:12 2016 +0100"
      },
      "committer": {
        "name": "Andreas Jaeger",
        "email": "aj@suse.com",
        "time": "Wed Jan 20 19:32:12 2016 +0100"
      },
      "message": "Remove argparse from requirements\n\nargparse was external in python 2.6 but not anymore, remove it from\nrequirements.\n\nThis should help with pip 8.0 that gets confused in this situation.\nInstallation of the external argparse is not needed.\n\nChange-Id: Ib7e74912b36c1b5ccb514e31fac35efeff57378d\n"
    },
    {
      "commit": "a2d4e2f92f956127059d725a85734f669b8f195d",
      "tree": "2194f3193d161a13e1ed236474fa1391b7a80b05",
      "parents": [
        "dc6872b8e3070c94d283e0d9ad66025db89723ab",
        "f5d1647c47315ad8b99b3310a09616d5c8944330"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jan 20 14:03:14 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jan 20 14:03:14 2016 +0000"
      },
      "message": "Merge \"Add docimpact tag for bugs that target project queues\""
    },
    {
      "commit": "c3a621900f9672b8e42b7e0dd969016936a49c8a",
      "tree": "cb2fea5b98768b039377f8dc9dd6e92bdc7d75af",
      "parents": [
        "dc6872b8e3070c94d283e0d9ad66025db89723ab"
      ],
      "author": {
        "name": "Ramy Asselin",
        "email": "ramy.asselin@hpe.com",
        "time": "Wed Jan 13 16:49:53 2016 -0800"
      },
      "committer": {
        "name": "Ramy Asselin",
        "email": "ramy.asselin@hpe.com",
        "time": "Wed Jan 13 16:51:28 2016 -0800"
      },
      "message": "Only expire open reviews\n\nClosed, Merged, Abandoned reviews don\u0027t need to\nbe re-expired. Only consider patches that are \u0027open\u0027.\n\nChange-Id: I848a7949a00ef700c1687493a6bd26a7a9508cfd\n"
    },
    {
      "commit": "f5d1647c47315ad8b99b3310a09616d5c8944330",
      "tree": "51c24e6c93cb79bf2f1b4138674d4a3a5f3d378e",
      "parents": [
        "aef5d9a6f6fb451ada6e47f34d589f1370970d07"
      ],
      "author": {
        "name": "armando-migliaccio",
        "email": "armamig@gmail.com",
        "time": "Thu Dec 03 13:07:54 2015 -0800"
      },
      "committer": {
        "name": "Andreas Jaeger",
        "email": "aj@suse.com",
        "time": "Tue Dec 22 08:05:26 2015 +0100"
      },
      "message": "Add docimpact tag for bugs that target project queues\n\nFor bugs that are filed against the project\u0027s queue rather than the\nopenstack-manuals queue, it\u0027s useful to classify them further by\nadding a doc-relevant tag. This way, the project\u0027s bug team can do\na much easier look up to ensure that these bugs do not go unnoticed.\n\nChange-Id: Ic9d2bdffd4acca3bb093f5037e62582961919ebf\n"
    }
  ],
  "next": "dc6872b8e3070c94d283e0d9ad66025db89723ab"
}
