)]}'
{"nova/tests/test_db_api.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"606a671f90c7a321dd1b19610cc67ec9bbd1088a","unresolved":false,"context_lines":[{"line_number":1567,"context_line":"        self.assertEqual(len(obj1),"},{"line_number":1568,"context_line":"                         len(obj2),"},{"line_number":1569,"context_line":"                         \"Keys mismatch: \" +"},{"line_number":1570,"context_line":"                          str(set(obj1.keys()) ^ set(obj2.keys())))"},{"line_number":1571,"context_line":"        for key, value in obj1.iteritems():"},{"line_number":1572,"context_line":"            self.assertEqual(value, obj2[key])"},{"line_number":1573,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2F6R4%3D","line":1570,"updated":"2013-06-06 07:37:27.000000000","message":"Nice thing, but it should be in separated patch \n(so it should be first patch)","commit_id":"46e25dbecc1c364a9676836d7e990ab1e1ab47c3"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"606a671f90c7a321dd1b19610cc67ec9bbd1088a","unresolved":false,"context_lines":[{"line_number":2068,"context_line":"        return db.instance_type_create(self.ctxt, v)"},{"line_number":2069,"context_line":""},{"line_number":2070,"context_line":""},{"line_number":2071,"context_line":"class InstanceFaultTestCase(test.TestCase, ModelsObjectComparatorMixin):"},{"line_number":2072,"context_line":"    def setUp(self):"},{"line_number":2073,"context_line":"        super(InstanceFaultTestCase, self).setUp()"},{"line_number":2074,"context_line":"        self.ctxt \u003d context.get_admin_context()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2F6R0%3D","line":2071,"updated":"2013-06-06 07:37:27.000000000","message":"second patch","commit_id":"46e25dbecc1c364a9676836d7e990ab1e1ab47c3"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"606a671f90c7a321dd1b19610cc67ec9bbd1088a","unresolved":false,"context_lines":[{"line_number":2131,"context_line":"        self.assertEqual(expected, faults)"},{"line_number":2132,"context_line":""},{"line_number":2133,"context_line":""},{"line_number":2134,"context_line":"class InstanceActionTestCase(test.TestCase, ModelsObjectComparatorMixin):"},{"line_number":2135,"context_line":"    IGNORED_FIELDS \u003d ["},{"line_number":2136,"context_line":"        \u0027id\u0027,"},{"line_number":2137,"context_line":"        \u0027created_at\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2F6Rw%3D","line":2134,"updated":"2013-06-06 07:37:27.000000000","message":"third patch","commit_id":"46e25dbecc1c364a9676836d7e990ab1e1ab47c3"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"c6e0325c1d3e6cf5b2bd71eba2566fa74627aec5","unresolved":false,"context_lines":[{"line_number":1930,"context_line":""},{"line_number":1931,"context_line":"        self.assertEqual(len(obj1),"},{"line_number":1932,"context_line":"                         len(obj2),"},{"line_number":1933,"context_line":"                         \"Keys mismatch: \" +"},{"line_number":1934,"context_line":"                          str(set(obj1.keys()) ^ set(obj2.keys())))"},{"line_number":1935,"context_line":"        for key, value in obj1.iteritems():"},{"line_number":1936,"context_line":"            self.assertEqual(value, obj2[key])"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F2tM%3D","line":1933,"updated":"2013-06-07 13:57:25.000000000","message":"Sorry, but I\u0027m going to be picky here and ask that you use the % string formatting operation rather than concatenation.","commit_id":"87f969c73bb7b73c2594d2a5b9b599cf4f0f7067"}]}
