)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"17ad83a0b7ad1ae885d4579e359deaeb0885e696","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3fa7e38b_78a930db","line":21,"updated":"2019-10-09 08:30:45.000000000","message":"Can you add the following tag:\n\n  Sem-Ver: api-break\n\nThis ensure we\u0027ll get a new major version on the next release","commit_id":"92e5d4f95d419766cbb235cd33b5f7203f45fda8"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"f5e4840e001582edcf01e48c7a201cb985d53bbf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3fa7e38b_e3becc63","line":21,"in_reply_to":"3fa7e38b_78a930db","updated":"2019-10-09 15:44:09.000000000","message":"Done","commit_id":"92e5d4f95d419766cbb235cd33b5f7203f45fda8"}],"os_traits/__init__.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"bbcdfeac6f83264cb4b1bc175ee825c895785bf3","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    _walk_submodules(sys.modules.get(__name__), True, _visualize, seen\u003dset())"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"def import_submodules(package, recursive\u003dTrue):"},{"line_number":108,"context_line":"    \"\"\"Import all submodules of a module, recursively, including subpackages"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    :param package: package (name or actual module)"},{"line_number":111,"context_line":"    :type package: str | module"},{"line_number":112,"context_line":"    :param recursive: Walk all submodules recursively?"},{"line_number":113,"context_line":"    :type recursive: bool"},{"line_number":114,"context_line":"    \"\"\""},{"line_number":115,"context_line":"    _walk_submodules(package, recursive, _symbolize)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"# This is where the names defined in submodules are imported"},{"line_number":119,"context_line":"import_submodules(sys.modules.get(__name__))"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"def get_traits(prefix\u003dNone, suffix\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_d84ce477","side":"PARENT","line":119,"range":{"start_line":107,"start_character":0,"end_line":119,"end_character":44},"updated":"2019-10-09 08:26:29.000000000","message":"I\u0027m pretty sure we need this. Surely without it we\u0027re not able to do, e.g.:\n\n  from os_traits import HW_CPU_HYPERTHREADING\n\n?","commit_id":"6a5e829b0d6579a0eed27df6f02a62f0ff371a8d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1319a95894fdbaf0d0d0ea0a10708c94f6815be4","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    _walk_submodules(sys.modules.get(__name__), True, _visualize, seen\u003dset())"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"def import_submodules(package, recursive\u003dTrue):"},{"line_number":108,"context_line":"    \"\"\"Import all submodules of a module, recursively, including subpackages"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    :param package: package (name or actual module)"},{"line_number":111,"context_line":"    :type package: str | module"},{"line_number":112,"context_line":"    :param recursive: Walk all submodules recursively?"},{"line_number":113,"context_line":"    :type recursive: bool"},{"line_number":114,"context_line":"    \"\"\""},{"line_number":115,"context_line":"    _walk_submodules(package, recursive, _symbolize)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"# This is where the names defined in submodules are imported"},{"line_number":119,"context_line":"import_submodules(sys.modules.get(__name__))"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"def get_traits(prefix\u003dNone, suffix\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_98566c06","side":"PARENT","line":119,"range":{"start_line":107,"start_character":0,"end_line":119,"end_character":44},"in_reply_to":"3fa7e38b_d84ce477","updated":"2019-10-09 08:27:07.000000000","message":"Oh, wait, I read the commit message. We\u0027ve replaced this with\n\n  _walk_submodules(sys.modules.get(__name__), True, _symbolize)","commit_id":"6a5e829b0d6579a0eed27df6f02a62f0ff371a8d"}]}
