)]}'
{"tools/opendev-migrate":[{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"12e622fab4a380b1d78f2c5f9c7f82426230740d","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        moves[repo] \u003d repo"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"for mapping in moves.items():"},{"line_number":63,"context_line":"    print(\u0027%s -\u003e %s\u0027 % mapping)"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"3fce034c_1d603b32","line":63,"updated":"2019-04-16 20:19:23.000000000","message":"This is a placeholder.","commit_id":"7fc05a82aa6865557a8c71be094c02a75afd129b"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"d58d7f7c01b876bab38ce866a64b06144080924a","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"for mapping in moves.items():"},{"line_number":94,"context_line":"    if mapping[0] !\u003d mapping[1]:"},{"line_number":95,"context_line":"        print(\u0027%s -\u003e %s\u0027 % mapping)"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"3fce034c_c5d179cf","line":95,"updated":"2019-04-16 23:27:56.000000000","message":"One of the outputs of this script should ideally be (transformable to) the YAML format described in https://docs.openstack.org/infra/system-config/gerrit.html#renaming-a-project ingested by our renaming playbook.","commit_id":"d3ecae3a2b90fb65af2d90be77f6d2712cb54f28"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"fce742b1a6bdf639cb1623a2b883185a634e5900","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3fce034c_a8fbb976","updated":"2019-04-18 17:38:43.000000000","message":"Wanna stick a license header on these? :)","commit_id":"1913f68833c0155152eed6b93504171c83b2f8e2"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"f2a1bbbfcb307723632f7be4b18d716329cc8097","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3fce034c_ebf778d2","updated":"2019-04-18 21:12:14.000000000","message":"You bet! I wasn\u0027t sure we would merge them, but either way you\u0027re right they\u0027re complex enough I should declare a license.","commit_id":"1913f68833c0155152eed6b93504171c83b2f8e2"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"bfaade2a5629378202bcac46bc485ad971d968bc","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        moves[repo] \u003d \u0027openstack/\u0027 + repo.split(\u0027/\u0027)[1]"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    # unofficial repositories move from openstack to x"},{"line_number":86,"context_line":"    elif repo.startswith(\u0027openstack/\u0027):"},{"line_number":87,"context_line":"        moves[repo] \u003d \u0027x/\u0027 + repo.split(\u0027/\u0027)[1]"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    # everything else is unchanged"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"3fce034c_28d5891c","line":86,"updated":"2019-04-18 17:28:44.000000000","message":"Do we need to also explicitly handle openstack-infra/ openstack-dev/ and what about the attic? I guess we can check the output for anything that sneaks by unexpectedly.","commit_id":"1913f68833c0155152eed6b93504171c83b2f8e2"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"f2a1bbbfcb307723632f7be4b18d716329cc8097","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        moves[repo] \u003d \u0027openstack/\u0027 + repo.split(\u0027/\u0027)[1]"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    # unofficial repositories move from openstack to x"},{"line_number":86,"context_line":"    elif repo.startswith(\u0027openstack/\u0027):"},{"line_number":87,"context_line":"        moves[repo] \u003d \u0027x/\u0027 + repo.split(\u0027/\u0027)[1]"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    # everything else is unchanged"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"3fce034c_8b0034ad","line":86,"updated":"2019-04-18 21:12:14.000000000","message":"The OpenStack TC declared jurisdiction over the \"^openstack$\" namespace. Anything which is (remaining) an official OpenStack deliverable or associated repo under their or some adjacent bodies\u0027 governance is moving into it. Anything which is left behind in those alternative openstack-.* namespaces is arguably cruft we can clean up later. This is why I didn\u0027t bother.","commit_id":"1913f68833c0155152eed6b93504171c83b2f8e2"}],"tools/opendev-patching":[{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"28674e84034235b1d6ea2b2c9d39798697c8d40b","unresolved":false,"context_lines":[{"line_number":31,"context_line":"            \u0027GIT_AUTHOR_NAME\u0027: \u0027OpenDev Sysadmins\u0027,"},{"line_number":32,"context_line":"            \u0027GIT_AUTHOR_EMAIL\u0027: \u0027openstack-infra@lists.openstack.org\u0027,"},{"line_number":33,"context_line":"            \u0027GIT_COMMITTER_NAME\u0027: \u0027OpenDev Sysadmins\u0027,"},{"line_number":34,"context_line":"            \u0027GIT_COMMITTER_EMAIL\u0027: \u0027openstack-infra@lists.openstack.org\u0027,"},{"line_number":35,"context_line":"            }),"},{"line_number":36,"context_line":"        ).communicate()"},{"line_number":37,"context_line":"    return o.decode(\u0027utf-8\u0027).strip().split(\u0027\\n\u0027)"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"3fce034c_8077aaa0","line":34,"updated":"2019-04-19 02:46:58.000000000","message":"For some reason, these are not being picked up by git commit.","commit_id":"13edf6b124ccf6c8f038216c5f0c750e209be1a3"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"448b6a0bf98276006337e63f5f4948792045f93b","unresolved":false,"context_lines":[{"line_number":31,"context_line":"            \u0027GIT_AUTHOR_NAME\u0027: \u0027OpenDev Sysadmins\u0027,"},{"line_number":32,"context_line":"            \u0027GIT_AUTHOR_EMAIL\u0027: \u0027openstack-infra@lists.openstack.org\u0027,"},{"line_number":33,"context_line":"            \u0027GIT_COMMITTER_NAME\u0027: \u0027OpenDev Sysadmins\u0027,"},{"line_number":34,"context_line":"            \u0027GIT_COMMITTER_EMAIL\u0027: \u0027openstack-infra@lists.openstack.org\u0027,"},{"line_number":35,"context_line":"            }),"},{"line_number":36,"context_line":"        ).communicate()"},{"line_number":37,"context_line":"    return o.decode(\u0027utf-8\u0027).strip().split(\u0027\\n\u0027)"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"3fce034c_e08b0e65","line":34,"in_reply_to":"3fce034c_8077aaa0","updated":"2019-04-19 03:04:24.000000000","message":"I think maybe do:\n\n  new_env \u003d dict(os.environ)\n  new_env.update()\n\nbefore the Popen.","commit_id":"13edf6b124ccf6c8f038216c5f0c750e209be1a3"}]}
