)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11279,"name":"Angus Lees","email":"gus@inodes.org","username":"gus"},"change_message_id":"4426b8037b8a26da8507615712800a07646f6bb7","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://etherpad.openstack.org/p/liberty-cross-project-python3"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I12b32dc097a121bd43991bc38dd4d289b65e86c1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"fa32b979_d75409ff","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":6},"updated":"2015-06-17 22:08:56.000000000","message":"Closes-Bug: #1350149","commit_id":"74d0c1636211b22ddcc1d5b3fb09f0d76bfe7708"}],"CONTRIBUTING.rst":[{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"f9d3e97de931c4a340acb2173ba65961c67d466d","unresolved":false,"context_lines":[{"line_number":31,"context_line":"your venv, so you must ensure that you have the required system packages"},{"line_number":32,"context_line":"installed.  For Ubuntu/Debian they are python-dev, libmysqlclient-dev and"},{"line_number":33,"context_line":"libpq-dev.  For Fedora/CentOS - gcc, python-devel, postgresql-devel and"},{"line_number":34,"context_line":"mysql-devel."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"The oslo.db unit tests system allows to run unittests on real databases. At the"},{"line_number":37,"context_line":"moment it supports MySQL, PostgreSQL and SQLite."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_ceeaccda","side":"PARENT","line":34,"updated":"2015-05-23 21:51:24.000000000","message":"I guess I can remove the libmysqlclient-dev/mysql-devel mention here.","commit_id":"1cbe72fbd87cb663bb38fe7f86a18d1e5d72df9b"}],"doc/source/installation.rst":[{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"4cca02baf974ef8ef42295ea7cae991c6236cf3f","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    $ sudo apt-get install libmysqlclient-dev"},{"line_number":24,"context_line":"    $ pip install PyMySQL"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"The installation of PyMySQL will fail if libmysqlclient-dev is not"},{"line_number":27,"context_line":"installed first. Note that even in a virtual environment the MySQL package will"},{"line_number":28,"context_line":"be installed system wide."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5afe65bd_4943f842","line":26,"updated":"2015-06-03 18:41:22.000000000","message":"This needs cleaning up too. No longer true.","commit_id":"527f6c43e466ad7271550290645449f746643e94"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"7661f72a07a167f028d0500592a4b474693a545b","unresolved":false,"context_lines":[{"line_number":36,"context_line":"Using with MySQL-python"},{"line_number":37,"context_line":"-----------------------"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"PyMySQL is a default MySQL DB API driver for oslo.db, as well as for whole"},{"line_number":40,"context_line":"OenStack. But you still can use MySQL-python as an alternative DB API driver."},{"line_number":41,"context_line":"For MySQL-python you must install the MySQL client development package for"},{"line_number":42,"context_line":"your distro. On Ubuntu this is done as follows::"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa32b979_128106fb","line":39,"updated":"2015-06-18 12:40:40.000000000","message":"nit: as for the whole","commit_id":"4a71a61afaf5cc902d7682630d2cd47ea506e870"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"d24aafc2252ea5ecb12e5a8b2cc94423fc319bba","unresolved":false,"context_lines":[{"line_number":36,"context_line":"Using with MySQL-python"},{"line_number":37,"context_line":"-----------------------"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"PyMySQL is a default MySQL DB API driver for oslo.db, as well as for whole"},{"line_number":40,"context_line":"OenStack. But you still can use MySQL-python as an alternative DB API driver."},{"line_number":41,"context_line":"For MySQL-python you must install the MySQL client development package for"},{"line_number":42,"context_line":"your distro. On Ubuntu this is done as follows::"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa32b979_cd445f4b","line":39,"in_reply_to":"fa32b979_128106fb","updated":"2015-06-18 12:42:40.000000000","message":"Done","commit_id":"4a71a61afaf5cc902d7682630d2cd47ea506e870"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"7661f72a07a167f028d0500592a4b474693a545b","unresolved":false,"context_lines":[{"line_number":37,"context_line":"-----------------------"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"PyMySQL is a default MySQL DB API driver for oslo.db, as well as for whole"},{"line_number":40,"context_line":"OenStack. But you still can use MySQL-python as an alternative DB API driver."},{"line_number":41,"context_line":"For MySQL-python you must install the MySQL client development package for"},{"line_number":42,"context_line":"your distro. On Ubuntu this is done as follows::"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa32b979_528b0e1f","line":40,"updated":"2015-06-18 12:40:40.000000000","message":"typo: OpenStack","commit_id":"4a71a61afaf5cc902d7682630d2cd47ea506e870"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"d24aafc2252ea5ecb12e5a8b2cc94423fc319bba","unresolved":false,"context_lines":[{"line_number":37,"context_line":"-----------------------"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"PyMySQL is a default MySQL DB API driver for oslo.db, as well as for whole"},{"line_number":40,"context_line":"OenStack. But you still can use MySQL-python as an alternative DB API driver."},{"line_number":41,"context_line":"For MySQL-python you must install the MySQL client development package for"},{"line_number":42,"context_line":"your distro. On Ubuntu this is done as follows::"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa32b979_8d4ad753","line":40,"in_reply_to":"fa32b979_528b0e1f","updated":"2015-06-18 12:42:40.000000000","message":"Done","commit_id":"4a71a61afaf5cc902d7682630d2cd47ea506e870"}],"oslo_db/tests/old_import_api/sqlalchemy/test_utils.py":[{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"eb4fcae4a5d7c3ef3c583a45dd11a84160c0f257","unresolved":false,"context_lines":[{"line_number":843,"context_line":"            ["},{"line_number":844,"context_line":"                mock.call.sqlite(\u0027sqlite://\u0027, 1),"},{"line_number":845,"context_line":"                mock.call.postgresql(\"postgresql+psycopg2://u:p@h/t\", 2),"},{"line_number":846,"context_line":"                mock.call.mysql_mysqldb(\"mysql+pymysql://u:p@h/t\", 3),"},{"line_number":847,"context_line":"                mock.call.default(\"mysql+mysqlconnector://u:p@h/t\", 4)"},{"line_number":848,"context_line":"            ],"},{"line_number":849,"context_line":"            callable_fn.mock_calls)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_e9e3c431","line":846,"updated":"2015-06-03 18:44:08.000000000","message":"I suppose this method is misnamed now.","commit_id":"527f6c43e466ad7271550290645449f746643e94"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"eb4fcae4a5d7c3ef3c583a45dd11a84160c0f257","unresolved":false,"context_lines":[{"line_number":1042,"context_line":"                mock.call.postgresql(\u0027postgresql+pyodbc://\u0027, 1),"},{"line_number":1043,"context_line":"                mock.call.pyodbc(\u0027postgresql+pyodbc://\u0027, 1),"},{"line_number":1044,"context_line":"                mock.call.default(\u0027postgresql+pyodbc://\u0027, 1),"},{"line_number":1045,"context_line":"                mock.call.mysql_mysqldb(\u0027mysql+pymysql://\u0027, 2),"},{"line_number":1046,"context_line":"                mock.call.default(\u0027mysql+pymysql://\u0027, 2),"},{"line_number":1047,"context_line":"                mock.call.default(\u0027ibm_db_sa+db2://\u0027, 3),"},{"line_number":1048,"context_line":"                mock.call.postgresql_psycopg2(\u0027postgresql+psycopg2://\u0027, 4),"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_89cb30a5","line":1045,"updated":"2015-06-03 18:44:08.000000000","message":"Same here.","commit_id":"527f6c43e466ad7271550290645449f746643e94"}],"oslo_db/tests/sqlalchemy/test_sqlalchemy.py":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"866a0c8d5427c3d988745750d7a9a11ca8c58e05","unresolved":false,"context_lines":[{"line_number":610,"context_line":"                         {\u0027charset\u0027: \u0027utf8\u0027, \u0027use_unicode\u0027: 0})"},{"line_number":611,"context_line":""},{"line_number":612,"context_line":"    def test_mysql_pymysql_connect_args_default(self):"},{"line_number":613,"context_line":"        session._init_connection_args("},{"line_number":614,"context_line":"            url.make_url(\"mysql+pymysql://u:p@host/test\"), self.args)"},{"line_number":615,"context_line":"        self.assertEqual(self.args[\u0027connect_args\u0027],"},{"line_number":616,"context_line":"                         {\u0027charset\u0027: \u0027utf8\u0027})"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_5c7fc0aa","line":613,"updated":"2015-06-17 22:00:32.000000000","message":"hum, session._init_connection_args() or engines._init_connection_args()? All other tests use engines.","commit_id":"74d0c1636211b22ddcc1d5b3fb09f0d76bfe7708"}],"oslo_db/tests/sqlalchemy/test_utils.py":[{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"86e9a40697aa0f7751384f67f754c3e061ce23d0","unresolved":false,"context_lines":[{"line_number":962,"context_line":"            ["},{"line_number":963,"context_line":"                mock.call.sqlite(\u0027sqlite://\u0027, 1),"},{"line_number":964,"context_line":"                mock.call.postgresql(\"postgresql+psycopg2://u:p@h/t\", 2),"},{"line_number":965,"context_line":"                mock.call.mysql_mysqldb(\"mysql+pymysql://u:p@h/t\", 3),"},{"line_number":966,"context_line":"                mock.call.default(\"mysql+mysqlconnector://u:p@h/t\", 4)"},{"line_number":967,"context_line":"            ],"},{"line_number":968,"context_line":"            callable_fn.mock_calls)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_8959f000","line":965,"updated":"2015-06-03 18:45:08.000000000","message":"Similar method name updating needed.","commit_id":"527f6c43e466ad7271550290645449f746643e94"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"86e9a40697aa0f7751384f67f754c3e061ce23d0","unresolved":false,"context_lines":[{"line_number":1161,"context_line":"                mock.call.postgresql(\u0027postgresql+pyodbc://\u0027, 1),"},{"line_number":1162,"context_line":"                mock.call.pyodbc(\u0027postgresql+pyodbc://\u0027, 1),"},{"line_number":1163,"context_line":"                mock.call.default(\u0027postgresql+pyodbc://\u0027, 1),"},{"line_number":1164,"context_line":"                mock.call.mysql_mysqldb(\u0027mysql+pymysql://\u0027, 2),"},{"line_number":1165,"context_line":"                mock.call.default(\u0027mysql+pymysql://\u0027, 2),"},{"line_number":1166,"context_line":"                mock.call.default(\u0027ibm_db_sa+db2://\u0027, 3),"},{"line_number":1167,"context_line":"                mock.call.postgresql_psycopg2(\u0027postgresql+psycopg2://\u0027, 4),"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_49741867","line":1164,"updated":"2015-06-03 18:45:08.000000000","message":"And here.","commit_id":"527f6c43e466ad7271550290645449f746643e94"}],"test-requirements-py2.txt":[{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"cd37d76a099e92b3c1b1092f8769f5307d55f71a","unresolved":false,"context_lines":[{"line_number":8,"context_line":"discover"},{"line_number":9,"context_line":"doc8  # Apache-2.0"},{"line_number":10,"context_line":"fixtures\u003e\u003d0.3.14"},{"line_number":11,"context_line":"PyMySQL"},{"line_number":12,"context_line":"psycopg2"},{"line_number":13,"context_line":"python-subunit\u003e\u003d0.0.18"},{"line_number":14,"context_line":"sphinx\u003e\u003d1.1.2,!\u003d1.2.0,!\u003d1.3b1,\u003c1.3"}],"source_content_type":"text/plain","patch_set":1,"id":"5afe65bd_c99c88c2","line":11,"updated":"2015-06-03 18:42:57.000000000","message":"Lost the trailing comment from the global requirements file here.","commit_id":"527f6c43e466ad7271550290645449f746643e94"}],"tox.ini":[{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"f9d3e97de931c4a340acb2173ba65961c67d466d","unresolved":false,"context_lines":[{"line_number":28,"context_line":"[testenv:py34]"},{"line_number":29,"context_line":"setenv \u003d"},{"line_number":30,"context_line":"   {[testenv]setenv}"},{"line_number":31,"context_line":"   OS_TEST_DBAPI_ADMIN_CONNECTION\u003dmysql+pymysql+pymysql://openstack_citest:openstack_citest@localhost/;postgresql://openstack_citest:openstack_citest@localhost/postgres;sqlite://"},{"line_number":32,"context_line":"deps \u003d -r{toxinidir}/requirements.txt"},{"line_number":33,"context_line":"       -r{toxinidir}/test-requirements-py3.txt"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-properties","patch_set":1,"id":"7a016987_aee55009","line":31,"updated":"2015-05-23 21:51:24.000000000","message":"Oops indeed! Thanks for spotting this... I need to make sure none of my other related changes contain a similar error.","commit_id":"527f6c43e466ad7271550290645449f746643e94"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"da416280e2465e5a435637cb70229a92ff22e893","unresolved":false,"context_lines":[{"line_number":28,"context_line":"[testenv:py34]"},{"line_number":29,"context_line":"setenv \u003d"},{"line_number":30,"context_line":"   {[testenv]setenv}"},{"line_number":31,"context_line":"   OS_TEST_DBAPI_ADMIN_CONNECTION\u003dmysql+pymysql+pymysql://openstack_citest:openstack_citest@localhost/;postgresql://openstack_citest:openstack_citest@localhost/postgres;sqlite://"},{"line_number":32,"context_line":"deps \u003d -r{toxinidir}/requirements.txt"},{"line_number":33,"context_line":"       -r{toxinidir}/test-requirements-py3.txt"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-properties","patch_set":1,"id":"7a016987_15572527","line":31,"updated":"2015-05-20 08:06:58.000000000","message":"oops :)","commit_id":"527f6c43e466ad7271550290645449f746643e94"}]}
