)]}'
{"etc/keystone.conf.sample":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"4a6f037b4931d01591b31bd7846c0970504d0223","unresolved":false,"context_lines":[{"line_number":61,"context_line":"# The number of worker processes to serve the admin WSGI"},{"line_number":62,"context_line":"# application (integer value)"},{"line_number":63,"context_line":"#admin_workers\u003d1"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"# Enforced by optional sizelimit middleware"},{"line_number":66,"context_line":"# (keystone.middleware:RequestBodySizeLimiter). (integer"},{"line_number":67,"context_line":"# value)"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"1ae5cdf2_c3636118","line":64,"updated":"2014-06-18 16:13:23.000000000","message":"something wrong with my split here - should be no changes to this file","commit_id":"638a859c8a887131cfe9bff16fd9a718b02eb3e5"}],"keystone/identity/core.py":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"7f6aeeab9a41ecc795e492369ccc0c1cab012c80","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from oslo.config import cfg"},{"line_number":22,"context_line":"import six"},{"line_number":23,"context_line":"import uuid"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from keystone import clean"},{"line_number":26,"context_line":"from keystone.common import dependency"}],"source_content_type":"text/x-python","patch_set":10,"id":"1ae5cdf2_8a30379f","line":23,"updated":"2014-06-20 15:27:38.000000000","message":"This is a part of the stdlib and should go in the first group of imports.","commit_id":"f9a2ccda9e703e7b34f96fd675fdb7fa2f9abb83"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"cb6b961d9ef10a96bbeac36be414685c74398fd2","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from oslo.config import cfg"},{"line_number":22,"context_line":"import six"},{"line_number":23,"context_line":"import uuid"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from keystone import clean"},{"line_number":26,"context_line":"from keystone.common import dependency"}],"source_content_type":"text/x-python","patch_set":10,"id":"1ae5cdf2_1073714e","line":23,"in_reply_to":"1ae5cdf2_8a30379f","updated":"2014-06-20 19:18:10.000000000","message":"Done","commit_id":"f9a2ccda9e703e7b34f96fd675fdb7fa2f9abb83"}],"keystone/tests/core.py":[{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"23c4fe9f3dc7f52711bd4529d9e56c7751b7867c","unresolved":false,"context_lines":[{"line_number":500,"context_line":"                user_copy \u003d user.copy()"},{"line_number":501,"context_line":"                tenants \u003d user_copy.pop(\u0027tenants\u0027)"},{"line_number":502,"context_line":"                try:"},{"line_number":503,"context_line":"                    existing_user \u003d getattr(self, \u0027user_%s\u0027 % user[\u0027id\u0027], None)"},{"line_number":504,"context_line":"                    if existing_user is not None:"},{"line_number":505,"context_line":"                        self.identity_api.delete_user(existing_user[\u0027id\u0027])"},{"line_number":506,"context_line":"                except exception.UserNotFound:"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ae5cdf2_a08f26cc","line":503,"updated":"2014-06-18 18:00:52.000000000","message":"Is this really necessary, or just a vestige from development?","commit_id":"7ccf73c07757da09cd80b786fff35565a66b9d1c"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"7b14220465fb84135fec937d8830420a3a99bcbb","unresolved":false,"context_lines":[{"line_number":500,"context_line":"                user_copy \u003d user.copy()"},{"line_number":501,"context_line":"                tenants \u003d user_copy.pop(\u0027tenants\u0027)"},{"line_number":502,"context_line":"                try:"},{"line_number":503,"context_line":"                    existing_user \u003d getattr(self, \u0027user_%s\u0027 % user[\u0027id\u0027], None)"},{"line_number":504,"context_line":"                    if existing_user is not None:"},{"line_number":505,"context_line":"                        self.identity_api.delete_user(existing_user[\u0027id\u0027])"},{"line_number":506,"context_line":"                except exception.UserNotFound:"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ae5cdf2_31a1a646","line":503,"in_reply_to":"1ae5cdf2_a08f26cc","updated":"2014-06-18 19:18:14.000000000","message":"Yes, due to the fact that some of our test reload the fixture users, you won\u0027t get a conflict on create since the UUID is not the fixture user name, it\u0027s generated by the manager","commit_id":"7ccf73c07757da09cd80b786fff35565a66b9d1c"}],"keystone/tests/filtering.py":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"695eabb82aafade7be1ef3675be022fc8a641a85","unresolved":false,"context_lines":[{"line_number":63,"context_line":"                      \u0027domain_id\u0027: domain_id}"},{"line_number":64,"context_line":"        if entity_type in [\u0027user\u0027, \u0027group\u0027]:"},{"line_number":65,"context_line":"            # The manager layer creates the ID for users and groups"},{"line_number":66,"context_line":"            new_entity.pop(\u0027id\u0027)"},{"line_number":67,"context_line":"            new_entity \u003d self._create_entity(entity_type)(new_entity)"},{"line_number":68,"context_line":"        else:"},{"line_number":69,"context_line":"            self._create_entity(entity_type)(new_entity[\u0027id\u0027], new_entity)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ae5cdf2_7137aee3","line":66,"updated":"2014-06-18 18:53:47.000000000","message":"I think it would be clearer to remove id from line 61 and add it in the \u0027else\u0027 block below.","commit_id":"7ccf73c07757da09cd80b786fff35565a66b9d1c"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"7b14220465fb84135fec937d8830420a3a99bcbb","unresolved":false,"context_lines":[{"line_number":63,"context_line":"                      \u0027domain_id\u0027: domain_id}"},{"line_number":64,"context_line":"        if entity_type in [\u0027user\u0027, \u0027group\u0027]:"},{"line_number":65,"context_line":"            # The manager layer creates the ID for users and groups"},{"line_number":66,"context_line":"            new_entity.pop(\u0027id\u0027)"},{"line_number":67,"context_line":"            new_entity \u003d self._create_entity(entity_type)(new_entity)"},{"line_number":68,"context_line":"        else:"},{"line_number":69,"context_line":"            self._create_entity(entity_type)(new_entity[\u0027id\u0027], new_entity)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ae5cdf2_918fdacc","line":66,"in_reply_to":"1ae5cdf2_7137aee3","updated":"2014-06-18 19:18:14.000000000","message":"Done","commit_id":"7ccf73c07757da09cd80b786fff35565a66b9d1c"}],"keystone/tests/test_keystoneclient.py":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"695eabb82aafade7be1ef3675be022fc8a641a85","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            user_ref \u003d self.user_foo"},{"line_number":97,"context_line":"        if tenant_ref is None:"},{"line_number":98,"context_line":"            for user in default_fixtures.USERS:"},{"line_number":99,"context_line":"                if (getattr(self, \u0027user_%s\u0027 % user[\u0027id\u0027])[\u0027id\u0027] \u003d\u003d"},{"line_number":100,"context_line":"                        user_ref[\u0027id\u0027]):"},{"line_number":101,"context_line":"                    tenant_id \u003d user[\u0027tenants\u0027][0]"},{"line_number":102,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ae5cdf2_f1301e58","line":99,"updated":"2014-06-18 18:53:47.000000000","message":"I think that this deserves a note. It took me a few minutes to realize that the fixtures have IDs that don\u0027t actually mean anything. We use the fixture IDs as Python attribute names to store the actual object with the generated ID.","commit_id":"7ccf73c07757da09cd80b786fff35565a66b9d1c"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"7b14220465fb84135fec937d8830420a3a99bcbb","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            user_ref \u003d self.user_foo"},{"line_number":97,"context_line":"        if tenant_ref is None:"},{"line_number":98,"context_line":"            for user in default_fixtures.USERS:"},{"line_number":99,"context_line":"                if (getattr(self, \u0027user_%s\u0027 % user[\u0027id\u0027])[\u0027id\u0027] \u003d\u003d"},{"line_number":100,"context_line":"                        user_ref[\u0027id\u0027]):"},{"line_number":101,"context_line":"                    tenant_id \u003d user[\u0027tenants\u0027][0]"},{"line_number":102,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ae5cdf2_d1632218","line":99,"in_reply_to":"1ae5cdf2_f1301e58","updated":"2014-06-18 19:18:14.000000000","message":"Done","commit_id":"7ccf73c07757da09cd80b786fff35565a66b9d1c"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"7f6aeeab9a41ecc795e492369ccc0c1cab012c80","unresolved":false,"context_lines":[{"line_number":98,"context_line":"            for user in default_fixtures.USERS:"},{"line_number":99,"context_line":"                # The fixture names are just handles, you have to look at the"},{"line_number":100,"context_line":"                # ID within the attribute to find the actual user ID stored in"},{"line_number":101,"context_line":"                # the backend."},{"line_number":102,"context_line":"                if (getattr(self, \u0027user_%s\u0027 % user[\u0027id\u0027])[\u0027id\u0027] \u003d\u003d"},{"line_number":103,"context_line":"                        user_ref[\u0027id\u0027]):"},{"line_number":104,"context_line":"                    tenant_id \u003d user[\u0027tenants\u0027][0]"}],"source_content_type":"text/x-python","patch_set":10,"id":"1ae5cdf2_8ae117d2","line":101,"updated":"2014-06-20 15:27:38.000000000","message":"I\u0027d love for this comment to read: \n\n  The fixture ID is no longer used as the ID in the database. The fixture ID, however, is still used as part of the attribute name when storing the created object on the test case.  This means that we need to use the fixture ID below to find the actual object so that we can get the ID as stored in the database to compare against.","commit_id":"f9a2ccda9e703e7b34f96fd675fdb7fa2f9abb83"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"cb6b961d9ef10a96bbeac36be414685c74398fd2","unresolved":false,"context_lines":[{"line_number":98,"context_line":"            for user in default_fixtures.USERS:"},{"line_number":99,"context_line":"                # The fixture names are just handles, you have to look at the"},{"line_number":100,"context_line":"                # ID within the attribute to find the actual user ID stored in"},{"line_number":101,"context_line":"                # the backend."},{"line_number":102,"context_line":"                if (getattr(self, \u0027user_%s\u0027 % user[\u0027id\u0027])[\u0027id\u0027] \u003d\u003d"},{"line_number":103,"context_line":"                        user_ref[\u0027id\u0027]):"},{"line_number":104,"context_line":"                    tenant_id \u003d user[\u0027tenants\u0027][0]"}],"source_content_type":"text/x-python","patch_set":10,"id":"1ae5cdf2_f077e538","line":101,"in_reply_to":"1ae5cdf2_8ae117d2","updated":"2014-06-20 19:18:10.000000000","message":"Done","commit_id":"f9a2ccda9e703e7b34f96fd675fdb7fa2f9abb83"}]}
