)]}'
{
  "log": [
    {
      "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": "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": "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": "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"
    },
    {
      "commit": "dc6872b8e3070c94d283e0d9ad66025db89723ab",
      "tree": "1cadab52658cecf17b76017d25fa8d4395f2f5ad",
      "parents": [
        "aef5d9a6f6fb451ada6e47f34d589f1370970d07"
      ],
      "author": {
        "name": "Paul Belanger",
        "email": "pabelanger@redhat.com",
        "time": "Thu Dec 17 22:43:13 2015 -0500"
      },
      "committer": {
        "name": "Paul Belanger",
        "email": "pabelanger@redhat.com",
        "time": "Thu Dec 17 22:44:28 2015 -0500"
      },
      "message": "Be more specific for new users\n\nA twitter user was complaining our documentation didn\u0027t properly\nreference how to \u0027get started\u0027. So be more explict.\n\nChange-Id: I352ea8dff10e5ca4a80a94033f65e684fb9da322\nSigned-off-by: Paul Belanger \u003cpabelanger@redhat.com\u003e\n"
    },
    {
      "commit": "aef5d9a6f6fb451ada6e47f34d589f1370970d07",
      "tree": "b37ab4d0ef438da46da47b665984d2f6e09bb710",
      "parents": [
        "5d07f3f721bcf8c8c5c64ba564296579ea38fdee",
        "72cdffc3021cec3623957fe504b858952f91f64a"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Dec 11 08:26:13 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Dec 11 08:26:13 2015 +0000"
      },
      "message": "Merge \"Always add prelude for docimpact bugs\""
    },
    {
      "commit": "5d07f3f721bcf8c8c5c64ba564296579ea38fdee",
      "tree": "7fa2cb81605c3ca430d94f5d829e5dac682952cf",
      "parents": [
        "fbc8db788dbb5f26d6fb691141842688afe6b205",
        "19497db3251f14a30e8eec846400c8322c324c3f"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Dec 11 00:05:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Dec 11 00:05:59 2015 +0000"
      },
      "message": "Merge \"Updated from global requirements\""
    },
    {
      "commit": "fbc8db788dbb5f26d6fb691141842688afe6b205",
      "tree": "c4e4e0871ed1b224f6019f54ace3c56047a41379",
      "parents": [
        "aa68576189c732e8f16e071d672ee8c6ac59d8ec"
      ],
      "author": {
        "name": "Steve Kowalik",
        "email": "steven@wedontsleep.org",
        "time": "Fri Dec 11 12:46:09 2015 +1300"
      },
      "committer": {
        "name": "Steve Kowalik",
        "email": "steven@wedontsleep.org",
        "time": "Fri Dec 11 12:46:09 2015 +1300"
      },
      "message": "Fix pep8 failure by adding a space after a #\n\nChange-Id: I247c9abc8c878edbf952071aac45fa7bb2ef1cf7\n"
    },
    {
      "commit": "aa68576189c732e8f16e071d672ee8c6ac59d8ec",
      "tree": "810499c68af7a3a05ece6020bb9ba92bd5fda504",
      "parents": [
        "3f45d496f3cadc2306f6a2bcf65ed77b77c937e7",
        "2158c6b451b48fd197b025cab6811ee78abf6ca8"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Dec 10 21:01:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Dec 10 21:01:29 2015 +0000"
      },
      "message": "Merge \"Add gerrit change hook parameters for Gerrit 2.11\""
    },
    {
      "commit": "72cdffc3021cec3623957fe504b858952f91f64a",
      "tree": "4dba96ceb73acf032e2148da16b957b21ece3af1",
      "parents": [
        "3f45d496f3cadc2306f6a2bcf65ed77b77c937e7"
      ],
      "author": {
        "name": "Andreas Jaeger",
        "email": "aj@suse.com",
        "time": "Thu Dec 10 09:16:47 2015 +0100"
      },
      "committer": {
        "name": "Andreas Jaeger",
        "email": "aj@suse.com",
        "time": "Thu Dec 10 09:16:47 2015 +0100"
      },
      "message": "Always add prelude for docimpact bugs\n\nAlways add a short prelude to bugs created with DOCIMPACT so that\nbug triagers know why it was generated.\n\nFix a stray \\ in the existing prelude.\n\nChange-Id: I7fefaa733994a2738e8486e9d084245b5df9b101\n"
    },
    {
      "commit": "3f45d496f3cadc2306f6a2bcf65ed77b77c937e7",
      "tree": "070985639f1ed6aa867f2066edbd1bc773b8ff94",
      "parents": [
        "4d623473a21c868271e5ec7521aaf2a1fd3c61c5",
        "602a384c18a4476daa691dcd5d73ce676306b64c"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Dec 07 16:02:27 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Dec 07 16:02:27 2015 +0000"
      },
      "message": "Merge \"change the default from delayed-release to direct-release\""
    },
    {
      "commit": "602a384c18a4476daa691dcd5d73ce676306b64c",
      "tree": "e825cf1ffd55419d47a0fcdc2cfe5022d3e5a1e8",
      "parents": [
        "6414c7b80b7649a92f2ef11c3e32b491ec0c824a"
      ],
      "author": {
        "name": "Doug Hellmann",
        "email": "doug@doughellmann.com",
        "time": "Mon Nov 23 21:11:10 2015 +0000"
      },
      "committer": {
        "name": "Doug Hellmann",
        "email": "doug@doughellmann.com",
        "time": "Thu Dec 03 16:14:52 2015 +0000"
      },
      "message": "change the default from delayed-release to direct-release\n\nChange the default behavior to update the status of the bug to fix\nreleased instead of fix committed.\n\nChange-Id: Id08565d54646cee6ce8262e0ef5cd63bf4f3dc7c\n"
    },
    {
      "commit": "4d623473a21c868271e5ec7521aaf2a1fd3c61c5",
      "tree": "e295d6bb5baababac3bbfe4db63c1c29b8fbbead",
      "parents": [
        "1e8983b255fdf1eeeb07895499097b91fad04f6e"
      ],
      "author": {
        "name": "Andreas Jaeger",
        "email": "aj@suse.com",
        "time": "Fri Nov 27 11:27:32 2015 +0100"
      },
      "committer": {
        "name": "Andreas Jaeger",
        "email": "aj@suse.com",
        "time": "Fri Nov 27 12:03:27 2015 +0100"
      },
      "message": "Update wording for docimpact\n\nSince we default now for most projects to the project itself, let\u0027s\nreword the message for this case to not confuse bug triagers.\n\nChange-Id: Ibe5846e749d3f2ef4431b979bad134875b6c7f0e\n"
    },
    {
      "commit": "1e8983b255fdf1eeeb07895499097b91fad04f6e",
      "tree": "65f7d1d4bb6c033b915cddb77bad2bee5c0aa2b0",
      "parents": [
        "6414c7b80b7649a92f2ef11c3e32b491ec0c824a"
      ],
      "author": {
        "name": "Andreas Jaeger",
        "email": "aj@suse.com",
        "time": "Mon Nov 23 08:17:39 2015 +0100"
      },
      "committer": {
        "name": "Andreas Jaeger",
        "email": "aj@suse.com",
        "time": "Mon Nov 23 08:33:07 2015 +0100"
      },
      "message": "Change default for docimpact\n\nChange the default for docimpact to use the repo itself\ninstead of openstack-manuals.\n\nImplements: blueprint review-docimpact\nChange-Id: Ia280baecab8c8cabd3a084ca0914f41c66a5a466\n"
    },
    {
      "commit": "6414c7b80b7649a92f2ef11c3e32b491ec0c824a",
      "tree": "959348fa295c4064aa12474a8b1b7d6c13213c55",
      "parents": [
        "df70c55bdfbc6588776c65fc7dc3a1fd13a32ff7"
      ],
      "author": {
        "name": "Yolanda Robla",
        "email": "yolanda.robla-mota@hp.com",
        "time": "Sun Nov 15 09:53:26 2015 +0100"
      },
      "committer": {
        "name": "Yolanda Robla",
        "email": "yolanda.robla-mota@hp.com",
        "time": "Sun Nov 15 09:54:42 2015 +0100"
      },
      "message": "Import pymysql in lower case\n\nPyMySQL package needs to be imported in lower case. Currenty,\nall ACL applies are failing in our production instance due to\nthis bug.\n\nChange-Id: Iaab56b8bc5caeba32de5db03cc87706dc6afbce9\n"
    },
    {
      "commit": "df70c55bdfbc6588776c65fc7dc3a1fd13a32ff7",
      "tree": "18ece27ca204a6f1340ddae3bbce443ee3d47fc1",
      "parents": [
        "c700e992377396feebeae26ab21930bcead148b6",
        "abc18ab908a2712ecba63c6a7e18d8101f99a27a"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Nov 14 17:32:56 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Nov 14 17:32:56 2015 +0000"
      },
      "message": "Merge \"Swap logging levels for command and its output\""
    },
    {
      "commit": "19497db3251f14a30e8eec846400c8322c324c3f",
      "tree": "84355b4fe783ca11f3d29a5ee5c6e07afe0a73be",
      "parents": [
        "c700e992377396feebeae26ab21930bcead148b6"
      ],
      "author": {
        "name": "Steve Kowalik",
        "email": "steven@wedontsleep.org",
        "time": "Tue Nov 03 10:45:59 2015 +1100"
      },
      "committer": {
        "name": "Steve Kowalik",
        "email": "steven@wedontsleep.org",
        "time": "Fri Nov 13 11:12:07 2015 +1100"
      },
      "message": "Updated from global requirements\n\nThe requirements and test-requirements for jeepyb are horribly outdated,\nupdate them. Since this also includes a few things that aren\u0027t in\nglobal-requirements, add them back manually after running the update\nscript.\n\nChange-Id: Idbf4a23830ad9497f61d6b261bb23d222b4746b9\n"
    },
    {
      "commit": "c700e992377396feebeae26ab21930bcead148b6",
      "tree": "d56e9adc36d0f81f5e9c30cb42b0b7c1745f50fc",
      "parents": [
        "12312f79408494d453f8efb4bb897b301b173a6c",
        "d8f0d3a6d6b018daa98a244a01b0e3b73fcb6bc3"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Nov 12 16:26:31 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Nov 12 16:26:31 2015 +0000"
      },
      "message": "Merge \"Switch from MySQL-python to PyMySQL\""
    },
    {
      "commit": "2158c6b451b48fd197b025cab6811ee78abf6ca8",
      "tree": "99ea512014c7a005f264f61c228c23809ffe1018",
      "parents": [
        "12312f79408494d453f8efb4bb897b301b173a6c"
      ],
      "author": {
        "name": "Khai Do",
        "email": "zaro0508@gmail.com",
        "time": "Sat Oct 17 07:02:41 2015 -0700"
      },
      "committer": {
        "name": "Khai Do",
        "email": "zaro0508@gmail.com",
        "time": "Tue Nov 10 17:31:19 2015 -0800"
      },
      "message": "Add gerrit change hook parameters for Gerrit 2.11\n\nGerrit 2.11 provides additional change hook parameters.  This change\nupdates hook scripts to match.\n\nHooks in Gerrit 2.11:\n\nhook[patchset-created] output:\n  --change I0bfa692dce4851bfd4acf75f5179d431db65357f --is-draft false\n  --kind REWORK --change-url https://review-dev.openstack.org/5377\n  --change-owner Khai Do (zaro0508@gmail.com) --project gtest-org/gtest\n  --branch master --topic 5310 --uploader Khai Do (zaro0508@gmail.com)\n  --commit cc9334dce5db9aa4db385acb17950f2295d6b948 --patchset 1\n\nhook[change-abandoned] output:\n  --change Icaf1f76c1cc0c257bb30cca9d52aa5fa96f74980\n  --change-url https://review-dev.openstack.org/5376\n  --change-owner Khai Do (zaro0508@gmail.com) --project gtest-org/gtest\n  --branch master --topic 5310 --abandoner Khai Do (zaro0508@gmail.com)\n  --commit 313164c9d75e00922976735ea1046b2d76b0b92b --reason bad fix2\n\nhook[change-merged] output:\n  --change I0bfa692dce4851bfd4acf75f5179d431db65357f\n  --change-url https://review-dev.openstack.org/5377\n  --change-owner Khai Do (zaro0508@gmail.com) --project gtest-org/gtest\n  --branch master --topic 5310 --submitter Jenkins\n  --commit cc9334dce5db9aa4db385acb17950f2295d6b948\n  --newrev cc9334dce5db9aa4db385acb17950f2295d6b948\n\nChange-Id: Ib514f6b213a8248c225a6e4293c25c2a23a16074\n"
    },
    {
      "commit": "12312f79408494d453f8efb4bb897b301b173a6c",
      "tree": "badebb3368d7519fb64b8a7576560644ade12f2d",
      "parents": [
        "6ac1fc84d79800e08fb72a547b3c4f42d35d6849"
      ],
      "author": {
        "name": "Steve Kowalik",
        "email": "steven@wedontsleep.org",
        "time": "Tue Nov 03 13:44:09 2015 +1100"
      },
      "committer": {
        "name": "Steve Kowalik",
        "email": "steven@wedontsleep.org",
        "time": "Tue Nov 03 13:44:09 2015 +1100"
      },
      "message": "Random pep8 fixes\n\nTo prepare for bumping the version of hacking in a later branch, fix\nup a few trivial issues that it will complain about and fail on.\n\nChange-Id: I19cc3aee0edfd25e198afd7797e9c483ce1b201e\n"
    },
    {
      "commit": "d8f0d3a6d6b018daa98a244a01b0e3b73fcb6bc3",
      "tree": "c94c9769ccaba18f9acdec1286a1df9daa9f3c1e",
      "parents": [
        "6ac1fc84d79800e08fb72a547b3c4f42d35d6849"
      ],
      "author": {
        "name": "Colleen Murphy",
        "email": "colleen@gazlene.net",
        "time": "Wed Oct 14 13:57:43 2015 -0700"
      },
      "committer": {
        "name": "Colleen Murphy",
        "email": "colleen@gazlene.net",
        "time": "Wed Oct 14 14:03:57 2015 -0700"
      },
      "message": "Switch from MySQL-python to PyMySQL\n\nFor the same reason nodepool switched[1], let\u0027s switch jeepyb too.\n\n[1] http://git.openstack.org/cgit/openstack-infra/nodepool/commit/?id\u003d63e5297f7e56bd2f8ca8c16e1f1b032f6c6f5ab8\n\nChange-Id: I3afeaebeb8416388d5866fc3994357935079c97d\n"
    },
    {
      "commit": "6ac1fc84d79800e08fb72a547b3c4f42d35d6849",
      "tree": "c887cf652a8584cebe1d28faecc18b78fb9591b5",
      "parents": [
        "bac98a6a509ea507f0f1cbd03925a659f3bcee40",
        "3d282df4121b815ff9af3d68bb148d322a5c983f"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sun Oct 11 14:32:52 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Oct 11 14:32:52 2015 +0000"
      },
      "message": "Merge \"Add a command to generate configs for hound\""
    },
    {
      "commit": "bac98a6a509ea507f0f1cbd03925a659f3bcee40",
      "tree": "242e04d36a707a2c4a33dc89c1d8b0adcb2af89d",
      "parents": [
        "f59e61dcf63e104382fd9ec790a2459cefed92d4",
        "58a44aa3a179ca22a7976dce9fd6d2fc6e6b706d"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Sep 29 07:08:48 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Sep 29 07:08:48 2015 +0000"
      },
      "message": "Merge \"Make SMTP connection configurable\""
    },
    {
      "commit": "3d282df4121b815ff9af3d68bb148d322a5c983f",
      "tree": "75fc38c7fa3fe8663197d534979dddf5b38a1d34",
      "parents": [
        "e6761903d74915c62c991e4c265ed8409cf76db2"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Apr 28 21:33:12 2015 -0400"
      },
      "committer": {
        "name": "Emma Barber",
        "email": "me@taron.io",
        "time": "Fri Sep 25 17:47:40 2015 -0700"
      },
      "message": "Add a command to generate configs for hound\n\netsy\u0027s hound is a simple source code indexer. The hardest part about\nrunning it is making a config file from our projects.yaml. So that\u0027s\ndone now.\n\nChange-Id: Ie4b6509947f58407c4cc6f5a2c7c2bc84c619ce9\n"
    },
    {
      "commit": "f59e61dcf63e104382fd9ec790a2459cefed92d4",
      "tree": "e6247852acd857a56e45e3eec671227f462dc71a",
      "parents": [
        "5c5a9e18bdbdd369b8dee289ec86b5a37a3b7dfd"
      ],
      "author": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Tue Sep 01 11:58:13 2015 -0700"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Tue Sep 01 11:58:13 2015 -0700"
      },
      "message": "Add --verbose flag as valid option for logging\n\nWe recently updated how logging was handled and kept -v for verbose mode\nbut didn\u0027t also keep --verbose. The welcome message script supported\n--verbose previously so add it back in for compatibility.\n\nChange-Id: I1a5ee6bd860b9953ed0d56b215d930303654f388\n"
    },
    {
      "commit": "58a44aa3a179ca22a7976dce9fd6d2fc6e6b706d",
      "tree": "44422ff06a1c580744978d275179eefb3d0e5b44",
      "parents": [
        "7f7b988b38610e677638fc92562d2c4a5c223430"
      ],
      "author": {
        "name": "Grant Murphy",
        "email": "grant.murphy@hp.com",
        "time": "Wed Aug 19 10:48:54 2015 -0700"
      },
      "committer": {
        "name": "Grant Murphy",
        "email": "grant.murphy@hp.com",
        "time": "Fri Aug 28 10:08:44 2015 -0700"
      },
      "message": "Make SMTP connection configurable\n\nThe SMTP configuraiton is currently hardcoded, it should be configurable\nto add more flexibility.\n\nAdded options for authentication, TLS, and STARTTLS support. The default\nconfiguration will try to use localhost and port 25 to send the email.\n\nChange-Id: I262d1aba1f400d3bf286fff0d3c32c50a7a402e3\n"
    },
    {
      "commit": "5c5a9e18bdbdd369b8dee289ec86b5a37a3b7dfd",
      "tree": "4bc01209c3cb19f04727c346dcc8dfd22a4f7ed2",
      "parents": [
        "7f7b988b38610e677638fc92562d2c4a5c223430"
      ],
      "author": {
        "name": "Steve Kowalik",
        "email": "steven@wedontsleep.org",
        "time": "Fri Aug 14 13:56:53 2015 +1000"
      },
      "committer": {
        "name": "Steve Kowalik",
        "email": "steven@wedontsleep.org",
        "time": "Thu Aug 27 14:07:48 2015 +1000"
      },
      "message": "Refactor logging arguments into a common module\n\nThe command line utilities provided only haphazardly set up logging\nusing command line arguments. Refactor it into a common module, and\nmake use of it in all scripts that use logging.\n\nThis changes expire-old-reviews.py to not hardcode the log file, but\nthat is fine, it has no scripts calling it.\n\nChange-Id: Ibc85f8e3b47f9c7898ad4334511b44e91ecbd736\n"
    },
    {
      "commit": "7f7b988b38610e677638fc92562d2c4a5c223430",
      "tree": "643b59f1d6237a4a0ecc4e6a654182f7254001fc",
      "parents": [
        "4601505e389aa7b966f7f06fdce1295870a1794e",
        "f3c58c1c43bd2740c45d3dba0bda0f110ffbe6ae"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sun Aug 16 11:04:27 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Aug 16 11:04:27 2015 +0000"
      },
      "message": "Merge \"Only add \u0027groups\u0027 file to the repo if it exists\""
    },
    {
      "commit": "4601505e389aa7b966f7f06fdce1295870a1794e",
      "tree": "81c461a4ac67c1a2112ba1bac239bc5262cf8a31",
      "parents": [
        "8008752f2ea9f9904efa9267375ea25a95ddd125",
        "f2b4ec165960c3fc8bfbfa7eaebf3eed2e055524"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Aug 11 16:16:48 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Aug 11 16:16:48 2015 +0000"
      },
      "message": "Merge \"Add a register-zanata-projects script\""
    }
  ],
  "next": "8008752f2ea9f9904efa9267375ea25a95ddd125"
}
