)]}'
{
  "log": [
    {
      "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\""
    },
    {
      "commit": "8008752f2ea9f9904efa9267375ea25a95ddd125",
      "tree": "e99aa9fee2be587e5a3a079291f7810b167a57c4",
      "parents": [
        "0a8b814f31e00c2005fd9ae9954a42d9d14d344e",
        "f6869acb1ef4cd80739ad7bb76689c54872a5242"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sun Aug 09 21:37:47 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Aug 09 21:37:47 2015 +0000"
      },
      "message": "Merge \"Fix in database discrimination\""
    },
    {
      "commit": "0a8b814f31e00c2005fd9ae9954a42d9d14d344e",
      "tree": "453affb67fac9d0741dc0d6dab8c0a0dc9fc1617",
      "parents": [
        "b81245f04ec84c4d2e295f13b835f2828340326c",
        "55183fc4ca4bff196e39a6ebe858dba6ebcd36a5"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sun Aug 09 21:37:19 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Aug 09 21:37:19 2015 +0000"
      },
      "message": "Merge \"Add some logging to notify_impact.\""
    },
    {
      "commit": "f2b4ec165960c3fc8bfbfa7eaebf3eed2e055524",
      "tree": "c0de7e65768833f8baf25b79dd40d5b1bef1671e",
      "parents": [
        "b81245f04ec84c4d2e295f13b835f2828340326c"
      ],
      "author": {
        "name": "Steve Kowalik",
        "email": "steven@wedontsleep.org",
        "time": "Fri Jul 31 12:26:00 2015 +1000"
      },
      "committer": {
        "name": "Steve Kowalik",
        "email": "steven@wedontsleep.org",
        "time": "Mon Aug 03 11:51:39 2015 +1000"
      },
      "message": "Add a register-zanata-projects script\n\nCurrently, projects in Transifex are set up by hand, which requires\ninfrastructure members log into its admin interface and add projects.\nWith Zanata, we can do much better, so add a script that will parse\nprojects.yaml, and create any projects that are required.\n\nThis grew out of Ic28d5dcfdd471dccbe406955a85dbc6f5d7335d1, but moves\nthe configuration for the project from translate: true to underneath\noptions to match things like direct-release.\n\nChange-Id: Id78a590ea07b886afc0c98e309ff6df45f2240bf\n"
    },
    {
      "commit": "b81245f04ec84c4d2e295f13b835f2828340326c",
      "tree": "d7da3c4574b5fb63af3c8db26f41021f0ab35299",
      "parents": [
        "a7215c1e68120f458835b085e945c5f18e75148c"
      ],
      "author": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Wed Jul 01 20:27:01 2015 +0000"
      },
      "committer": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Wed Jul 01 20:27:01 2015 +0000"
      },
      "message": "Default to no series in update_bug.py\n\nIn I128b48d it was assumed that the series variable was already set\nto a default boolean false value before testing it, but this was not\nthe case. Add that initial false state as a None default.\n\nChange-Id: Ifddd9ad150aaec2db375f44f2d62fe69f6684e52\n"
    },
    {
      "commit": "a7215c1e68120f458835b085e945c5f18e75148c",
      "tree": "b5611f7d6e6471c5572b76faaa414d267d7708a5",
      "parents": [
        "bee95e5e6318839d868dd0c4d9b451fbe3daa910",
        "61b38c75e421303b0851cb498246ae333c010680"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jun 16 20:50:38 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jun 16 20:50:38 2015 +0000"
      },
      "message": "Merge \"Handle projects not using stable/ branch names\""
    },
    {
      "commit": "f3c58c1c43bd2740c45d3dba0bda0f110ffbe6ae",
      "tree": "0f4235a9de1df1ee14791d36e87e94340b17cc96",
      "parents": [
        "bee95e5e6318839d868dd0c4d9b451fbe3daa910"
      ],
      "author": {
        "name": "Timothy Chavez",
        "email": "timothy.chavez@hp.com",
        "time": "Thu Jun 04 18:18:51 2015 -0500"
      },
      "committer": {
        "name": "Timothy Chavez",
        "email": "timothy.chavez@hp.com",
        "time": "Thu Jun 04 18:30:24 2015 -0500"
      },
      "message": "Only add \u0027groups\u0027 file to the repo if it exists\n\nThe \u0027groups\u0027 file gets created only if there are groups mentioned in\nthe \u0027project.config\u0027 file.  A \u0027project.config\u0027 file is not required to\nmention any groups, thus we should only attempt to add the \u0027groups\u0027 file\nif it exists.\n\nChange-Id: I333df5156bc27db29143ee412d86e12606faa751\n"
    },
    {
      "commit": "f6869acb1ef4cd80739ad7bb76689c54872a5242",
      "tree": "8ed18cc78576c3205cdd5a1981ed061bb62c98dd",
      "parents": [
        "bee95e5e6318839d868dd0c4d9b451fbe3daa910"
      ],
      "author": {
        "name": "Yolanda Robla",
        "email": "yolanda.robla-mota@hp.com",
        "time": "Thu Jun 04 09:17:30 2015 +0200"
      },
      "committer": {
        "name": "Yolanda Robla",
        "email": "yolanda.robla-mota@hp.com",
        "time": "Thu Jun 04 09:19:07 2015 +0200"
      },
      "message": "Fix in database discrimination\n\njeepyb is comparing the config setting with\nMYSQL. However, it\u0027s possible that configuration is\nnot set on capital letters, and that is causing gerrit\nconfigures with real mysql to fallback into the postgres\ncase.\n\nJust capitalize the config setting to safely compare\nwith MYSQL value.\n\nChange-Id: I5c5b920da14275d45dc1d394ca8c569709f9ab41\n"
    },
    {
      "commit": "55183fc4ca4bff196e39a6ebe858dba6ebcd36a5",
      "tree": "b85b1904b6775d5230fac1fab244964858c1e1a3",
      "parents": [
        "bee95e5e6318839d868dd0c4d9b451fbe3daa910"
      ],
      "author": {
        "name": "Michael Still",
        "email": "mikal@stillhq.com",
        "time": "Thu Jun 04 11:42:41 2015 +1000"
      },
      "committer": {
        "name": "Michael Still",
        "email": "mikal@stillhq.com",
        "time": "Thu Jun 04 12:02:27 2015 +1000"
      },
      "message": "Add some logging to notify_impact.\n\nThis will aid in debugging DocImpact when its not working quite right.\n\nChange-Id: Iabcb71808224ed2c62e697ce3715f50982d23434\n"
    },
    {
      "commit": "bee95e5e6318839d868dd0c4d9b451fbe3daa910",
      "tree": "c6e9fa75273cf16c36fbf42dc8d28e0f548301f6",
      "parents": [
        "10e02841379fd3370f95ad5f63b8eaec41025e21",
        "380770f2683a99b4556582959492d1ec6190359c"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat May 30 19:08:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat May 30 19:08:58 2015 +0000"
      },
      "message": "Merge \"Updated code review timeline\""
    },
    {
      "commit": "abc18ab908a2712ecba63c6a7e18d8101f99a27a",
      "tree": "8b926267d633e038d7b5335636849481136a7ac9",
      "parents": [
        "10e02841379fd3370f95ad5f63b8eaec41025e21"
      ],
      "author": {
        "name": "K Jonathan Harker",
        "email": "k.jonathan.harker@hp.com",
        "time": "Wed May 27 11:08:27 2015 -0700"
      },
      "committer": {
        "name": "K Jonathan Harker",
        "email": "k.jonathan.harker@hp.com",
        "time": "Wed May 27 11:08:27 2015 -0700"
      },
      "message": "Swap logging levels for command and its output\n\nThe command being run is more informative than it\u0027s output, so raise the\nlogging level of the command being run to info and lower its output to\ndebug.\n\nChange-Id: Ic4f764192384e3d0911380e5daf60fcdf0d2a200\n"
    },
    {
      "commit": "380770f2683a99b4556582959492d1ec6190359c",
      "tree": "1f54d5d93418272780470641477c95a285a5a0b3",
      "parents": [
        "e6761903d74915c62c991e4c265ed8409cf76db2"
      ],
      "author": {
        "name": "Ganesh Narayanan",
        "email": "ganeshna@cisco.com",
        "time": "Mon Apr 20 21:49:04 2015 -0700"
      },
      "committer": {
        "name": "Ganesh Narayanan",
        "email": "ganeshna@cisco.com",
        "time": "Sun May 17 22:52:36 2015 -0700"
      },
      "message": "Updated code review timeline\n\nThe current welcome message for new contributors mentions that it usually\ntakes 3 to 7 days for the code to be reviewed.  But the code also needs\napproval from the core member(s) for the merge to happen.  It generally\ntakes at least 2 weeks for core to review the changes as they are busy\nwith other high priority things.  For a newbie it is not very clear on\nhow long the patch will take to get reviewed and merged.  Hence added\nmore text related to this.\n\nChange-Id: I78d32a99338b74c648f68d87a5c7bcb577e016b0\n"
    },
    {
      "commit": "10e02841379fd3370f95ad5f63b8eaec41025e21",
      "tree": "775a038800f2bc9e9b54dd265bb7476dbc2c3dd3",
      "parents": [
        "3c706debe89bd4242d5a810c3ed526bd214bd329"
      ],
      "author": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Thu May 14 21:38:16 2015 +0000"
      },
      "committer": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Thu May 14 21:38:16 2015 +0000"
      },
      "message": "Replace ci.o.o links with docs.o.o/infra\n\nThe http://ci.openstack.org/ documentation site has been deprecated,\nreplaced by redirects to corresponding paths within\nhttp://docs.openstack.org/infra/ where other Project Infrastructure\ndocumentation already resides.\n\nChange-Id: I1f698d89147ccb8f705941a7c6f25e07f4b72860\n"
    },
    {
      "commit": "3c706debe89bd4242d5a810c3ed526bd214bd329",
      "tree": "9e9fb7f7f3c462659acc16e7d35b1332ef57ff01",
      "parents": [
        "e6761903d74915c62c991e4c265ed8409cf76db2",
        "9ab5c4361d99595f6ac8eb4864666a9c503c12de"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri May 01 12:37:43 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri May 01 12:37:43 2015 +0000"
      },
      "message": "Merge \"Let pull request message be customized via file\""
    },
    {
      "commit": "9ab5c4361d99595f6ac8eb4864666a9c503c12de",
      "tree": "00ee19b46abe6a0dcff66dbcaa5bcd9967d9d505",
      "parents": [
        "bb2eed5833ff1b4c28226117bf7cd0bd6cce7fd0"
      ],
      "author": {
        "name": "Alice Chen",
        "email": "alice.chen@hp.com",
        "time": "Wed Aug 20 19:40:18 2014 -0700"
      },
      "committer": {
        "name": "Alice Chen",
        "email": "alice.chen@hp.com",
        "time": "Wed Apr 22 19:48:47 2015 -0700"
      },
      "message": "Let pull request message be customized via file\n\nChange-Id: I059d3b4f090e438e2a4eeffcdd27253ddaa5a89a\n"
    },
    {
      "commit": "e6761903d74915c62c991e4c265ed8409cf76db2",
      "tree": "c711a971384e41e2742cae86793a49041d5fb30d",
      "parents": [
        "bb2eed5833ff1b4c28226117bf7cd0bd6cce7fd0",
        "9a2968e6fc3f625b33ff6c82558e6b9a528947e1"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Apr 20 16:22:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Apr 20 16:22:29 2015 +0000"
      },
      "message": "Merge \"Log project names as the projects are processed\""
    },
    {
      "commit": "61b38c75e421303b0851cb498246ae333c010680",
      "tree": "e4aaf6fe3b38a3b75ceb112674c3c4a44fcd8ca5",
      "parents": [
        "bb2eed5833ff1b4c28226117bf7cd0bd6cce7fd0"
      ],
      "author": {
        "name": "Ian Cordasco",
        "email": "ian.cordasco@rackspace.com",
        "time": "Wed Feb 04 14:47:41 2015 -0600"
      },
      "committer": {
        "name": "Darren Birkett",
        "email": "darren.birkett@gmail.com",
        "time": "Mon Apr 20 17:05:07 2015 +0100"
      },
      "message": "Handle projects not using stable/ branch names\n\nProjects like stackforge/os-ansible-deployment don\u0027t use stable/ in\ntheir supported branches. The branch names, however, do correspond to\nthe series name on Launchpad. Without these updates, the series needs to\nbe updated entirely by hand.\n\nChange-Id: I128b48ddfe0eb9a062c796828dded1b8ebb241bf\nCloses-bug: 2000150\n"
    },
    {
      "commit": "bb2eed5833ff1b4c28226117bf7cd0bd6cce7fd0",
      "tree": "aad05d89538a471e0ca47dcdf8c4ef2be0d16d34",
      "parents": [
        "10a810bf8d65ca771c5fbc9dd305c8e907835557"
      ],
      "author": {
        "name": "Khai Do",
        "email": "zaro0508@gmail.com",
        "time": "Tue Apr 14 15:17:31 2015 -0700"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Wed Apr 15 18:04:14 2015 +0000"
      },
      "message": "Add Gerrit hooks change-owner and kind\n\nGerrit 2.10 contains new code review hooks --change-owner and\n--kind [1] so this change is to update jeepyb to process those hooks.\n\n[1] https://review-dev.openstack.org/Documentation/config-hooks.html\n\nChange-Id: Ia2d3da1a369d7b0636ca9ab332d2a3a4044eb81c\n"
    },
    {
      "commit": "10a810bf8d65ca771c5fbc9dd305c8e907835557",
      "tree": "c4c81facaedda0a5f7975a777394cc0ff6b6c9ab",
      "parents": [
        "0c29fd147bd579cc0e3e408d1f0b009b304d0963",
        "8e07004b2435f7bb439ca10a20dfcf9b25678646"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Apr 15 14:07:25 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Apr 15 14:07:25 2015 +0000"
      },
      "message": "Merge \"Add global flag to control replication\""
    },
    {
      "commit": "0c29fd147bd579cc0e3e408d1f0b009b304d0963",
      "tree": "6005e13953267fa795b622e486e7389c9aab3931",
      "parents": [
        "99d2f6dd61e6adc561402af80754dcf37e0aaf3b",
        "07cec75f3e2f7ce375c5c8ce6348fca88a196990"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Apr 15 14:06:18 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Apr 15 14:06:18 2015 +0000"
      },
      "message": "Merge \"Rename upload_rss and move non-swift-relevant parts into the main method\""
    },
    {
      "commit": "99d2f6dd61e6adc561402af80754dcf37e0aaf3b",
      "tree": "93e6568d73a55e80f778aeaa2ec8692a67bbd551",
      "parents": [
        "c4034b524cc6eb10dadb49b0e9362e855800e6db",
        "d5eb09f67c38161c6302d1ad01f69ed65399aff6"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Apr 15 14:06:12 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Apr 15 14:06:12 2015 +0000"
      },
      "message": "Merge \"Replace \u0027javascript\u0027 method/parameternames\""
    },
    {
      "commit": "c4034b524cc6eb10dadb49b0e9362e855800e6db",
      "tree": "519cc1f0e8eb2ad7a768b5dec0904a2043a3d319",
      "parents": [
        "e683f1e0b2e70d97919c8fd3697d86c44f28587b",
        "67c5129ca617d56ab6eef45dd6911e704b33c22c"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Apr 15 14:04:45 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Apr 15 14:04:45 2015 +0000"
      },
      "message": "Merge \"Be more careful about when to close pull requests\""
    },
    {
      "commit": "9a2968e6fc3f625b33ff6c82558e6b9a528947e1",
      "tree": "6c55eb2d620dc0b00aa13ccd3fa1d362c3a2e113",
      "parents": [
        "e683f1e0b2e70d97919c8fd3697d86c44f28587b"
      ],
      "author": {
        "name": "K Jonathan Harker",
        "email": "k.jonathan.harker@hp.com",
        "time": "Tue Mar 31 10:11:13 2015 -0700"
      },
      "committer": {
        "name": "K Jonathan Harker",
        "email": "k.jonathan.harker@hp.com",
        "time": "Tue Mar 31 10:14:04 2015 -0700"
      },
      "message": "Log project names as the projects are processed\n\nCurrently info-level logs only contain project names when errors\noccur, and otherwise have a lot of information about branch processing\nwith no information about which projects the branches belong to. This\nadds an info-level message with the project name so that well-behaved\nruns of manage-projects have enough context to give meaningful logs.\n\nChange-Id: Ibea0a8d8367da1b6e20d244e8117ddc241337e88\n"
    },
    {
      "commit": "07cec75f3e2f7ce375c5c8ce6348fca88a196990",
      "tree": "edf3f5ebc26ee6e0c898327088d55296337b09ac",
      "parents": [
        "d5eb09f67c38161c6302d1ad01f69ed65399aff6"
      ],
      "author": {
        "name": "Christian Berendt",
        "email": "berendt@b1-systems.de",
        "time": "Sat Oct 11 14:41:48 2014 +0200"
      },
      "committer": {
        "name": "Christian Berendt",
        "email": "berendt@b1-systems.de",
        "time": "Wed Mar 25 09:53:29 2015 +0100"
      },
      "message": "Rename upload_rss and move non-swift-relevant parts into the main method\n\nChange-Id: I4b15dafc48b7f14bb88fde0b7ee9af3de0422e75\n"
    },
    {
      "commit": "d5eb09f67c38161c6302d1ad01f69ed65399aff6",
      "tree": "f3054019a96b5cf6f21e7e66a500bce45587e16d",
      "parents": [
        "e683f1e0b2e70d97919c8fd3697d86c44f28587b"
      ],
      "author": {
        "name": "Christian Berendt",
        "email": "berendt@b1-systems.de",
        "time": "Sat Oct 11 14:29:35 2014 +0200"
      },
      "committer": {
        "name": "Christian Berendt",
        "email": "christian@berendt.io",
        "time": "Wed Mar 25 08:47:07 2015 +0000"
      },
      "message": "Replace \u0027javascript\u0027 method/parameternames\n\nChange-Id: Ib18b7d1a13d299c4f8a57819d2a4b5a92408e222\n"
    },
    {
      "commit": "8e07004b2435f7bb439ca10a20dfcf9b25678646",
      "tree": "83c4292de658373bf59e14122da43f813f44beea",
      "parents": [
        "e683f1e0b2e70d97919c8fd3697d86c44f28587b"
      ],
      "author": {
        "name": "Paul Belanger",
        "email": "paul.belanger@polybeacon.com",
        "time": "Thu Mar 05 12:01:55 2015 -0500"
      },
      "committer": {
        "name": "Paul Belanger",
        "email": "paul.belanger@polybeacon.com",
        "time": "Thu Mar 05 12:07:30 2015 -0500"
      },
      "message": "Add global flag to control replication\n\nIf gerrit is not configured for replication, don\u0027t force the issue.\nWe default the setting to True to avoid system breakage moving\nforward.\n\nChange-Id: Ibbd474c319d0c4ac6b1bad026c8b2b85ad6cc8c4\nSigned-off-by: Paul Belanger \u003cpaul.belanger@polybeacon.com\u003e\n"
    },
    {
      "commit": "e683f1e0b2e70d97919c8fd3697d86c44f28587b",
      "tree": "a07b8424a20531fed912afb05f14a5b09ec98552",
      "parents": [
        "bfee72a0a5b5a68860fdfd3fa14340da8f11952c",
        "76a1a2848d12ca44975bff6fc83c7f6ba309fa92"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Mar 03 12:35:31 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Mar 03 12:35:31 2015 +0000"
      },
      "message": "Merge \"Workflow documentation is now in infra-manual\""
    },
    {
      "commit": "bfee72a0a5b5a68860fdfd3fa14340da8f11952c",
      "tree": "6d4e099fa74c249096403d3c11565a8692c30bb7",
      "parents": [
        "32cafb4f31295e415009221e4688cd8f394ce20d"
      ],
      "author": {
        "name": "K Jonathan Harker",
        "email": "k.jonathan.harker@hp.com",
        "time": "Mon Mar 02 18:18:36 2015 -0800"
      },
      "committer": {
        "name": "K Jonathan Harker",
        "email": "k.jonathan.harker@hp.com",
        "time": "Mon Mar 02 18:18:36 2015 -0800"
      },
      "message": "Fix typo: opensack -\u003e openstack\n\nChange-Id: I82b924e9ee02d3b18f7b222d9776ef7e24e25256\n"
    },
    {
      "commit": "32cafb4f31295e415009221e4688cd8f394ce20d",
      "tree": "98bddb2a1d5c9aae0c71cb3a94126570a3c2da8e",
      "parents": [
        "4312b27014f4a6ad34a826912cbae9500095219a",
        "450b1a1a4d301661e3224dbe65d03ce45650f41b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Feb 14 05:25:40 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Feb 14 05:25:40 2015 +0000"
      },
      "message": "Merge \"Make the gerrit review expiry age tunable\""
    },
    {
      "commit": "76a1a2848d12ca44975bff6fc83c7f6ba309fa92",
      "tree": "0bbcccd2b1b672f3d5aa3c99a1d711ecc2e200ef",
      "parents": [
        "59c6b84c02665547c5f8ae68eeacc293c31a22c4"
      ],
      "author": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Fri Dec 05 03:30:42 2014 +0000"
      },
      "committer": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Tue Feb 03 18:40:17 2015 +0000"
      },
      "message": "Workflow documentation is now in infra-manual\n\nReplace URLs for workflow documentation to appropriate parts of the\nOpenStack Project Infrastructure Manual.\n\nChange-Id: I5198c8dc8b8442f34c6e86cb49c5e98d60dd8480\n"
    },
    {
      "commit": "450b1a1a4d301661e3224dbe65d03ce45650f41b",
      "tree": "6bb74ff16b447008c0e01c4187072dcc080d77b1",
      "parents": [
        "2ec36918051e2b6eb7a29daba6be2b4e156b05b6"
      ],
      "author": {
        "name": "Jonathan Harker",
        "email": "code@gentlydownthe.net",
        "time": "Tue Jan 06 15:38:19 2015 -0500"
      },
      "committer": {
        "name": "Jonathan Harker",
        "email": "code@gentlydownthe.net",
        "time": "Wed Jan 07 09:58:21 2015 -0500"
      },
      "message": "Make the gerrit review expiry age tunable\n\nAdd a new parameter to the expire_old_reviews script in order to set the\nlength of time a change must be inactive before it is automatically\nabandoned.\n\nChange-Id: Iba237f44d850ef8e4049df9bba2b7e8da74d510d\n"
    },
    {
      "commit": "4312b27014f4a6ad34a826912cbae9500095219a",
      "tree": "3659d1a25e93fa11f51740f781f3e6ae84c83f01",
      "parents": [
        "2ec36918051e2b6eb7a29daba6be2b4e156b05b6",
        "589ade69b108325ea40cf72631b97a7377a7c7db"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jan 07 13:53:09 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jan 07 13:53:09 2015 +0000"
      },
      "message": "Merge \"Fix wrong import from six.moves to make openstackwatch workable\""
    },
    {
      "commit": "2ec36918051e2b6eb7a29daba6be2b4e156b05b6",
      "tree": "d971a39ad93eac24bc57f32b67f3adcfc1dfe0a9",
      "parents": [
        "59c6b84c02665547c5f8ae68eeacc293c31a22c4",
        "d761db00292abdacc34e7038e2b7a03051f6828b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Dec 12 12:10:13 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Dec 12 12:10:13 2014 +0000"
      },
      "message": "Merge \"Add a git clean command before updating local copy\""
    },
    {
      "commit": "59c6b84c02665547c5f8ae68eeacc293c31a22c4",
      "tree": "f09202eb1a3483fd9c6bad5e23af6b0ae239fa09",
      "parents": [
        "f13b71bfe8107966e4cdf99dc4dcc2cc76455552"
      ],
      "author": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Thu Nov 20 18:04:09 2014 +0000"
      },
      "committer": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Thu Nov 20 18:04:09 2014 +0000"
      },
      "message": "Reconnect to Gerrit database if needed\n\n* jeepyb/gerritdb.py(connect): If the database connection is being\nreused for a connect call, issue a ping and pass the reconnect\noption so that a reconnection attempt will be made in the event the\nsocket has timed out or otherwise disconnected. Note that this only\nworks for the MySQLdb driver, so a different solution will likely be\nneeded for psycopg2. Alternatively, switching to an ORM like\nsqlalchemy would get us this for free, but is a more involved\nchange.\n\nChange-Id: I591d40998e208f18ac5c43bafd7bccb98be6a9c8\nCloses-Story: #2000017\n"
    },
    {
      "commit": "f13b71bfe8107966e4cdf99dc4dcc2cc76455552",
      "tree": "263e8ed2cee6e3c26080059b8cdd2e1de8954e8c",
      "parents": [
        "6d470279e20c79743f037f84b546d08cc6665efd",
        "cd9a46abd72070f859288be2b7315e13478e9487"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Nov 18 18:15:12 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Nov 18 18:15:12 2014 +0000"
      },
      "message": "Merge \"Switched documentation to point to storyboard.\""
    }
  ],
  "next": "cd9a46abd72070f859288be2b7315e13478e9487"
}
