)]}'
{"oslo_versionedobjects/base.py":[{"author":{"_account_id":11803,"name":"Ryan Rossiter","email":"rlrossit@us.ibm.com","username":"rlrossiter"},"change_message_id":"241be06f76776be1c6f8460363d331e84e378d1e","unresolved":false,"context_lines":[{"line_number":100,"context_line":"    _registry \u003d None"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def __new__(cls, *args, **kwargs):"},{"line_number":103,"context_line":"        if not cls._registry:"},{"line_number":104,"context_line":"            cls._registry \u003d object.__new__(cls, *args, **kwargs)"},{"line_number":105,"context_line":"            cls._registry._obj_classes \u003d collections.defaultdict(list)"},{"line_number":106,"context_line":"        return cls._registry"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_e24af882","line":103,"updated":"2016-01-28 16:20:01.000000000","message":"The problem with this implementation (which Jenkins is showing), is that now VersionedObjectRegistry can\u0027t look up objects that are in children\u0027s registries. So this kills a lot of the base infrastructure that o.vo sets up.","commit_id":"f46777abe7ac173b2a2133da6d7d710e614b63cd"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"eab339997a9ac09965e530d6d67881709c8dcd7d","unresolved":false,"context_lines":[{"line_number":100,"context_line":"    _registry \u003d None"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def __new__(cls, *args, **kwargs):"},{"line_number":103,"context_line":"        if not cls._registry:"},{"line_number":104,"context_line":"            cls._registry \u003d object.__new__(cls, *args, **kwargs)"},{"line_number":105,"context_line":"            cls._registry._obj_classes \u003d collections.defaultdict(list)"},{"line_number":106,"context_line":"        return cls._registry"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_d02c664c","line":103,"in_reply_to":"7a5de9d1_e24af882","updated":"2016-01-28 16:35:06.000000000","message":"Can you add a test that pokes this? Because we have a test right now that ensures that it works as we expect:\n\nhttps://github.com/openstack/oslo.versionedobjects/blob/master/oslo_versionedobjects/tests/test_objects.py#L291\n\nThis should be always returning the singleton registry so I\u0027m kinda confused about what the problem is.","commit_id":"f46777abe7ac173b2a2133da6d7d710e614b63cd"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"55854e151ae711cc081231ccbe71b97c9092ba1b","unresolved":false,"context_lines":[{"line_number":104,"context_line":"            VersionedObjectRegistry._registry \u003d object.__new__("},{"line_number":105,"context_line":"                VersionedObjectRegistry, *args, **kwargs)"},{"line_number":106,"context_line":"            VersionedObjectRegistry._registry._obj_classes \u003d ("},{"line_number":107,"context_line":"                collections.defaultdict(list))"},{"line_number":108,"context_line":"        self \u003d object.__new__(cls, *args, **kwargs)"},{"line_number":109,"context_line":"        self._obj_classes \u003d VersionedObjectRegistry._registry._obj_classes"},{"line_number":110,"context_line":"        return self"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a5ae5dd_f2b0ba8d","line":107,"updated":"2016-02-03 14:36:03.000000000","message":"This change on line 106-107 is gratuitous right? Looks like you\u0027re just changing style, AFAIK. Please avoid mixing functional and style changes for clarity.","commit_id":"c6a5f5af31977f02dc53f72c7fdcbe3b1dc19480"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"b975410ac029df719ed2c0166ab3e7b524398524","unresolved":false,"context_lines":[{"line_number":104,"context_line":"            VersionedObjectRegistry._registry \u003d object.__new__("},{"line_number":105,"context_line":"                VersionedObjectRegistry, *args, **kwargs)"},{"line_number":106,"context_line":"            VersionedObjectRegistry._registry._obj_classes \u003d ("},{"line_number":107,"context_line":"                collections.defaultdict(list))"},{"line_number":108,"context_line":"        self \u003d object.__new__(cls, *args, **kwargs)"},{"line_number":109,"context_line":"        self._obj_classes \u003d VersionedObjectRegistry._registry._obj_classes"},{"line_number":110,"context_line":"        return self"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a5ae5dd_c61db7be","line":107,"in_reply_to":"5a5ae5dd_f2b0ba8d","updated":"2016-02-03 16:48:17.000000000","message":"Done","commit_id":"c6a5f5af31977f02dc53f72c7fdcbe3b1dc19480"}],"oslo_versionedobjects/tests/test_objects.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"55854e151ae711cc081231ccbe71b97c9092ba1b","unresolved":false,"context_lines":[{"line_number":288,"context_line":"            registry._register_class(TestObjectNewer)"},{"line_number":289,"context_line":"            mock_hook.assert_called_once_with(TestObjectNewer, 0)"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"    def test_subclassability(self):"},{"line_number":292,"context_line":"        class MyRegistry(base.VersionedObjectRegistry):"},{"line_number":293,"context_line":"            pass"},{"line_number":294,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a5ae5dd_52bbce72","line":291,"updated":"2016-02-03 14:36:03.000000000","message":"This test is no longer necessary, right? Seems like the test you added fully covers this case as well (you probably should have just extended this one?). Please remove it.","commit_id":"c6a5f5af31977f02dc53f72c7fdcbe3b1dc19480"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"b975410ac029df719ed2c0166ab3e7b524398524","unresolved":false,"context_lines":[{"line_number":288,"context_line":"            registry._register_class(TestObjectNewer)"},{"line_number":289,"context_line":"            mock_hook.assert_called_once_with(TestObjectNewer, 0)"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"    def test_subclassability(self):"},{"line_number":292,"context_line":"        class MyRegistry(base.VersionedObjectRegistry):"},{"line_number":293,"context_line":"            pass"},{"line_number":294,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a5ae5dd_4688e7e7","line":291,"in_reply_to":"5a5ae5dd_52bbce72","updated":"2016-02-03 16:48:17.000000000","message":"Done","commit_id":"c6a5f5af31977f02dc53f72c7fdcbe3b1dc19480"}]}
