)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"13f54f65c5b7e8b03a0fd36eaa967bd98170b4b2","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Flavio Fernandes \u003cflaviof@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-01-09 15:39:32 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"tools: Adding scripts to help with networking-ovn migration"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In an effort to help on migrating changes on netowking-ovn to neutron,"},{"line_number":10,"context_line":"these 3 scripts are being introduced."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3fa7e38b_83143fa0","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":59},"updated":"2020-01-10 23:26:50.000000000","message":"At first glance I just considered this was to help migrate the neutron from ml2 ovs-agent to ovn driver. So how about this commit title:\n\"[OVN] scripts for networking-ovn code migration\"","commit_id":"321931666a2f9ed7db5aa7b36aea4b5ad7e14ae4"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"eb78dd9802efa777fe2dddf42ea5a6e5af060c19","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Flavio Fernandes \u003cflaviof@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-01-09 15:39:32 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"tools: Adding scripts to help with networking-ovn migration"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In an effort to help on migrating changes on netowking-ovn to neutron,"},{"line_number":10,"context_line":"these 3 scripts are being introduced."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3fa7e38b_1cd41bbc","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":59},"in_reply_to":"3fa7e38b_83143fa0","updated":"2020-01-13 23:32:56.000000000","message":"Good point. Will adjust that. Thanks!","commit_id":"321931666a2f9ed7db5aa7b36aea4b5ad7e14ae4"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f1059b33236c4b187969181fefa50b0f4525da43","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"tools: Adding scripts to help with networking-ovn migration"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In an effort to help on migrating changes on netowking-ovn to neutron,"},{"line_number":10,"context_line":"these 3 scripts are being introduced."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"1) files_in_patch.py \u003d\u003d\u003e show files that are changed in a patch_file"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3fa7e38b_480ae677","line":9,"range":{"start_line":9,"start_character":45,"end_line":9,"end_character":58},"updated":"2020-01-10 21:26:28.000000000","message":"s/networking-ovn\n\nAnd is this the opposite?  neutron to networking-ovn?","commit_id":"321931666a2f9ed7db5aa7b36aea4b5ad7e14ae4"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"eb78dd9802efa777fe2dddf42ea5a6e5af060c19","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"tools: Adding scripts to help with networking-ovn migration"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In an effort to help on migrating changes on netowking-ovn to neutron,"},{"line_number":10,"context_line":"these 3 scripts are being introduced."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"1) files_in_patch.py \u003d\u003d\u003e show files that are changed in a patch_file"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3fa7e38b_9ce9eb83","line":9,"range":{"start_line":9,"start_character":45,"end_line":9,"end_character":58},"in_reply_to":"3fa7e38b_480ae677","updated":"2020-01-13 23:32:56.000000000","message":"Done","commit_id":"321931666a2f9ed7db5aa7b36aea4b5ad7e14ae4"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f1059b33236c4b187969181fefa50b0f4525da43","unresolved":false,"context_lines":[{"line_number":74,"context_line":"neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py"},{"line_number":75,"context_line":"neutron/services/trunk/drivers/ovn/trunk_driver.py"},{"line_number":76,"context_line":"neutron/tests/unit/plugins/ml2/drivers/ovn/mech_driver/test_mech_driver.py"},{"line_number":77,"context_line":"neutron/tests/unit/services/trunk/drivers/ovn/test_trunk_driver.py"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Change-Id: I17904c996e1357f7292d25aab4d448edb052f44c"},{"line_number":80,"context_line":"Related-Blueprint: neutron-ovn-merge"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3fa7e38b_08206ef7","line":77,"updated":"2020-01-10 21:26:28.000000000","message":"I would put all these examples in a readme file somewhere in the tree instead of the commit message, or even in each file itself?","commit_id":"321931666a2f9ed7db5aa7b36aea4b5ad7e14ae4"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"eb78dd9802efa777fe2dddf42ea5a6e5af060c19","unresolved":false,"context_lines":[{"line_number":74,"context_line":"neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py"},{"line_number":75,"context_line":"neutron/services/trunk/drivers/ovn/trunk_driver.py"},{"line_number":76,"context_line":"neutron/tests/unit/plugins/ml2/drivers/ovn/mech_driver/test_mech_driver.py"},{"line_number":77,"context_line":"neutron/tests/unit/services/trunk/drivers/ovn/test_trunk_driver.py"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Change-Id: I17904c996e1357f7292d25aab4d448edb052f44c"},{"line_number":80,"context_line":"Related-Blueprint: neutron-ovn-merge"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3fa7e38b_ffa1f13b","line":77,"in_reply_to":"3fa7e38b_08206ef7","updated":"2020-01-13 23:32:56.000000000","message":"Done","commit_id":"321931666a2f9ed7db5aa7b36aea4b5ad7e14ae4"}],"doc/source/index.rst":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"c2e3892b9e445d041f7b9511f2741eb1094f7072","unresolved":false,"context_lines":[{"line_number":59,"context_line":".. toctree::"},{"line_number":60,"context_line":"   :maxdepth: 2"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"   ovn/index"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Neutron Feature Classification"},{"line_number":65,"context_line":"------------------------------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3fa7e38b_2865a3b0","line":62,"updated":"2020-01-21 10:54:54.000000000","message":"Looking at the contents, it looks like a contributor document. Why do you put it into the top level of the neutron document instead of the contributor guide?","commit_id":"411fb39557ab47b1bbb132f9e2a91bc06cd44c53"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"cbd4d9b258096428ffebd7be53a6ac8af62391d8","unresolved":false,"context_lines":[{"line_number":59,"context_line":".. toctree::"},{"line_number":60,"context_line":"   :maxdepth: 2"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"   ovn/index"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Neutron Feature Classification"},{"line_number":65,"context_line":"------------------------------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3fa7e38b_fb7f5066","line":62,"in_reply_to":"3fa7e38b_2865a3b0","updated":"2020-01-21 14:33:30.000000000","message":"I mentioned to Flavio to put it here since this is loosely based on https://review.opendev.org/#/c/701571/ (Merge networking-ovn documentation into neutron), this is just merging first.  The contributor section was my second choice.","commit_id":"411fb39557ab47b1bbb132f9e2a91bc06cd44c53"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"63cf89f2e1a7e0a0e9494c7b55e16682146f4693","unresolved":false,"context_lines":[{"line_number":59,"context_line":".. toctree::"},{"line_number":60,"context_line":"   :maxdepth: 2"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"   ovn/index"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Neutron Feature Classification"},{"line_number":65,"context_line":"------------------------------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3fa7e38b_66c89520","line":62,"in_reply_to":"3fa7e38b_831903d3","updated":"2020-01-22 12:49:29.000000000","message":"Thanks. We can reorganize the OVN documents per contents after the migration :)","commit_id":"411fb39557ab47b1bbb132f9e2a91bc06cd44c53"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"943cbb0026cc5740f24842fc17c5d31c5db08540","unresolved":false,"context_lines":[{"line_number":59,"context_line":".. toctree::"},{"line_number":60,"context_line":"   :maxdepth: 2"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"   ovn/index"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Neutron Feature Classification"},{"line_number":65,"context_line":"------------------------------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3fa7e38b_831903d3","line":62,"in_reply_to":"3fa7e38b_9bd64dc4","updated":"2020-01-22 11:44:04.000000000","message":"Moved it. ;)","commit_id":"411fb39557ab47b1bbb132f9e2a91bc06cd44c53"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"f090092bc754f562137fd94685597d2ffe2cace7","unresolved":false,"context_lines":[{"line_number":59,"context_line":".. toctree::"},{"line_number":60,"context_line":"   :maxdepth: 2"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"   ovn/index"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Neutron Feature Classification"},{"line_number":65,"context_line":"------------------------------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3fa7e38b_9bd64dc4","line":62,"in_reply_to":"3fa7e38b_b10b372b","updated":"2020-01-22 08:27:21.000000000","message":"I\u0027m ok with both solutions. Also my patch is still WIP and I will still need to move things around there :)","commit_id":"411fb39557ab47b1bbb132f9e2a91bc06cd44c53"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"5947b4717f9a6aab7a4d79e87a65bb420a962619","unresolved":false,"context_lines":[{"line_number":59,"context_line":".. toctree::"},{"line_number":60,"context_line":"   :maxdepth: 2"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"   ovn/index"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Neutron Feature Classification"},{"line_number":65,"context_line":"------------------------------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3fa7e38b_b10b372b","line":62,"in_reply_to":"3fa7e38b_fb7f5066","updated":"2020-01-21 16:29:44.000000000","message":"I modeled this location after what I saw in https://review.opendev.org/#/c/701571/. To be fair, that is WIP, so I can move it if there is enough folks who think that is a better place.","commit_id":"411fb39557ab47b1bbb132f9e2a91bc06cd44c53"}],"doc/source/ovn/tools.rst":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e6b83545278f8121ffafd13c9ff3746dab47d222","unresolved":false,"context_lines":[{"line_number":3,"context_line":"OVN Tools"},{"line_number":4,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"This document offers details on neutron tools available for assisting"},{"line_number":7,"context_line":"with using the Open Virtual Network (OVN) backend."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Overview"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_4b986075","line":6,"range":{"start_line":6,"start_character":32,"end_line":6,"end_character":39},"updated":"2020-01-15 20:10:13.000000000","message":"Since it\u0027s a new doc, should use Neutron (capitalized) throughout","commit_id":"765bf0034df65297ff043cc644203f97527a861f"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"424c5164b2d6ee5a9c9d00f73f93a72fea5b486b","unresolved":false,"context_lines":[{"line_number":3,"context_line":"OVN Tools"},{"line_number":4,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"This document offers details on neutron tools available for assisting"},{"line_number":7,"context_line":"with using the Open Virtual Network (OVN) backend."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Overview"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_e2811f4e","line":6,"range":{"start_line":6,"start_character":32,"end_line":6,"end_character":39},"in_reply_to":"3fa7e38b_4b986075","updated":"2020-01-16 19:03:52.000000000","message":"Done","commit_id":"765bf0034df65297ff043cc644203f97527a861f"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e6b83545278f8121ffafd13c9ff3746dab47d222","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"This document offers details on neutron tools available for assisting"},{"line_number":7,"context_line":"with using the Open Virtual Network (OVN) backend."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Overview"},{"line_number":10,"context_line":"--------"},{"line_number":11,"context_line":"As described in"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_abf0f493","line":8,"updated":"2020-01-15 20:10:13.000000000","message":"Should the below be in a sub-section?  For example \"Patches/Cherry-picks\" or something like that?  If there is a way to even do it.","commit_id":"765bf0034df65297ff043cc644203f97527a861f"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"424c5164b2d6ee5a9c9d00f73f93a72fea5b486b","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"This document offers details on neutron tools available for assisting"},{"line_number":7,"context_line":"with using the Open Virtual Network (OVN) backend."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Overview"},{"line_number":10,"context_line":"--------"},{"line_number":11,"context_line":"As described in"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_5da49405","line":8,"in_reply_to":"3fa7e38b_abf0f493","updated":"2020-01-16 19:03:52.000000000","message":"looks like it!  :)  But with the change the output does not look all that different, tho.  ¯\\_(ツ)_/¯\n\nhttps://thomas-cokelaer.info/tutorials/sphinx/rest_syntax.html\n\n\n    # with overline, for parts\n    * with overline, for chapters\n    \u003d, for sections\n    -, for subsections\n    ^, for subsubsections\n    “, for paragraphs\n\ndone.","commit_id":"765bf0034df65297ff043cc644203f97527a861f"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e6b83545278f8121ffafd13c9ff3746dab47d222","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Overview"},{"line_number":10,"context_line":"--------"},{"line_number":11,"context_line":"As described in"},{"line_number":12,"context_line":"`ovn-migration blueprint \u003chttps://review.opendev.org/#/c/658414/19/specs/ussuri/ml2ovs-ovn-convergence.rst\u003e`__,"},{"line_number":13,"context_line":"neutron\u0027s OVN ml2 plugin has merged to neutron repository as of Ussuri"},{"line_number":14,"context_line":"release. With that, special care must be taken to apply neutron"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_0bb6e8fd","line":11,"range":{"start_line":11,"start_character":13,"end_line":11,"end_character":15},"updated":"2020-01-15 20:10:13.000000000","message":"s/in the","commit_id":"765bf0034df65297ff043cc644203f97527a861f"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e6b83545278f8121ffafd13c9ff3746dab47d222","unresolved":false,"context_lines":[{"line_number":10,"context_line":"--------"},{"line_number":11,"context_line":"As described in"},{"line_number":12,"context_line":"`ovn-migration blueprint \u003chttps://review.opendev.org/#/c/658414/19/specs/ussuri/ml2ovs-ovn-convergence.rst\u003e`__,"},{"line_number":13,"context_line":"neutron\u0027s OVN ml2 plugin has merged to neutron repository as of Ussuri"},{"line_number":14,"context_line":"release. With that, special care must be taken to apply neutron"},{"line_number":15,"context_line":"changes to the proper stable branches of the networking-ovn repo."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_cbaf709b","line":13,"range":{"start_line":13,"start_character":14,"end_line":13,"end_character":17},"updated":"2020-01-15 20:10:13.000000000","message":"s/ML2","commit_id":"765bf0034df65297ff043cc644203f97527a861f"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e6b83545278f8121ffafd13c9ff3746dab47d222","unresolved":false,"context_lines":[{"line_number":10,"context_line":"--------"},{"line_number":11,"context_line":"As described in"},{"line_number":12,"context_line":"`ovn-migration blueprint \u003chttps://review.opendev.org/#/c/658414/19/specs/ussuri/ml2ovs-ovn-convergence.rst\u003e`__,"},{"line_number":13,"context_line":"neutron\u0027s OVN ml2 plugin has merged to neutron repository as of Ussuri"},{"line_number":14,"context_line":"release. With that, special care must be taken to apply neutron"},{"line_number":15,"context_line":"changes to the proper stable branches of the networking-ovn repo."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_8bc9787b","line":13,"range":{"start_line":13,"start_character":61,"end_line":13,"end_character":63},"updated":"2020-01-15 20:10:13.000000000","message":"s/of the","commit_id":"765bf0034df65297ff043cc644203f97527a861f"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e6b83545278f8121ffafd13c9ff3746dab47d222","unresolved":false,"context_lines":[{"line_number":10,"context_line":"--------"},{"line_number":11,"context_line":"As described in"},{"line_number":12,"context_line":"`ovn-migration blueprint \u003chttps://review.opendev.org/#/c/658414/19/specs/ussuri/ml2ovs-ovn-convergence.rst\u003e`__,"},{"line_number":13,"context_line":"neutron\u0027s OVN ml2 plugin has merged to neutron repository as of Ussuri"},{"line_number":14,"context_line":"release. With that, special care must be taken to apply neutron"},{"line_number":15,"context_line":"changes to the proper stable branches of the networking-ovn repo."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_ebb4acf3","line":13,"range":{"start_line":13,"start_character":36,"end_line":13,"end_character":38},"updated":"2020-01-15 20:10:13.000000000","message":"s/to the","commit_id":"765bf0034df65297ff043cc644203f97527a861f"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"424c5164b2d6ee5a9c9d00f73f93a72fea5b486b","unresolved":false,"context_lines":[{"line_number":10,"context_line":"--------"},{"line_number":11,"context_line":"As described in"},{"line_number":12,"context_line":"`ovn-migration blueprint \u003chttps://review.opendev.org/#/c/658414/19/specs/ussuri/ml2ovs-ovn-convergence.rst\u003e`__,"},{"line_number":13,"context_line":"neutron\u0027s OVN ml2 plugin has merged to neutron repository as of Ussuri"},{"line_number":14,"context_line":"release. With that, special care must be taken to apply neutron"},{"line_number":15,"context_line":"changes to the proper stable branches of the networking-ovn repo."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_5d8a541e","line":13,"range":{"start_line":13,"start_character":61,"end_line":13,"end_character":63},"in_reply_to":"3fa7e38b_8bc9787b","updated":"2020-01-16 19:03:52.000000000","message":"Done","commit_id":"765bf0034df65297ff043cc644203f97527a861f"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"424c5164b2d6ee5a9c9d00f73f93a72fea5b486b","unresolved":false,"context_lines":[{"line_number":10,"context_line":"--------"},{"line_number":11,"context_line":"As described in"},{"line_number":12,"context_line":"`ovn-migration blueprint \u003chttps://review.opendev.org/#/c/658414/19/specs/ussuri/ml2ovs-ovn-convergence.rst\u003e`__,"},{"line_number":13,"context_line":"neutron\u0027s OVN ml2 plugin has merged to neutron repository as of Ussuri"},{"line_number":14,"context_line":"release. With that, special care must be taken to apply neutron"},{"line_number":15,"context_line":"changes to the proper stable branches of the networking-ovn repo."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_9da8cc8b","line":13,"range":{"start_line":13,"start_character":14,"end_line":13,"end_character":17},"in_reply_to":"3fa7e38b_cbaf709b","updated":"2020-01-16 19:03:52.000000000","message":"Done","commit_id":"765bf0034df65297ff043cc644203f97527a861f"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"424c5164b2d6ee5a9c9d00f73f93a72fea5b486b","unresolved":false,"context_lines":[{"line_number":10,"context_line":"--------"},{"line_number":11,"context_line":"As described in"},{"line_number":12,"context_line":"`ovn-migration blueprint \u003chttps://review.opendev.org/#/c/658414/19/specs/ussuri/ml2ovs-ovn-convergence.rst\u003e`__,"},{"line_number":13,"context_line":"neutron\u0027s OVN ml2 plugin has merged to neutron repository as of Ussuri"},{"line_number":14,"context_line":"release. With that, special care must be taken to apply neutron"},{"line_number":15,"context_line":"changes to the proper stable branches of the networking-ovn repo."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_3d8f5830","line":13,"range":{"start_line":13,"start_character":36,"end_line":13,"end_character":38},"in_reply_to":"3fa7e38b_ebb4acf3","updated":"2020-01-16 19:03:52.000000000","message":"Done","commit_id":"765bf0034df65297ff043cc644203f97527a861f"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e6b83545278f8121ffafd13c9ff3746dab47d222","unresolved":false,"context_lines":[{"line_number":57,"context_line":"     -h, --help    show this help message and exit"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"   $ ./tools/download_gerrit_change.py 698863 /tmp/change.patch"},{"line_number":60,"context_line":"   $ ./tools/files_in_patch.py !$"},{"line_number":61,"context_line":"   ./tools/files_in_patch.py /tmp/change.patch"},{"line_number":62,"context_line":"   networking_ovn/ml2/mech_driver.py"},{"line_number":63,"context_line":"   networking_ovn/ml2/trunk_driver.py"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_4ba620af","line":60,"range":{"start_line":60,"start_character":31,"end_line":60,"end_character":33},"updated":"2020-01-15 20:10:13.000000000","message":"nit: should just put the file name here","commit_id":"765bf0034df65297ff043cc644203f97527a861f"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"424c5164b2d6ee5a9c9d00f73f93a72fea5b486b","unresolved":false,"context_lines":[{"line_number":57,"context_line":"     -h, --help    show this help message and exit"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"   $ ./tools/download_gerrit_change.py 698863 /tmp/change.patch"},{"line_number":60,"context_line":"   $ ./tools/files_in_patch.py !$"},{"line_number":61,"context_line":"   ./tools/files_in_patch.py /tmp/change.patch"},{"line_number":62,"context_line":"   networking_ovn/ml2/mech_driver.py"},{"line_number":63,"context_line":"   networking_ovn/ml2/trunk_driver.py"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3fa7e38b_7da5d0b3","line":60,"range":{"start_line":60,"start_character":31,"end_line":60,"end_character":33},"in_reply_to":"3fa7e38b_4ba620af","updated":"2020-01-16 19:03:52.000000000","message":"Done","commit_id":"765bf0034df65297ff043cc644203f97527a861f"}],"tools/download_gerrit_change.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"a02f8625edd8012589a0a6ec08a4b0138d6f2211","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                       default\u003dGERRIT_URL,"},{"line_number":43,"context_line":"                       nargs\u003d\u0027?\u0027,"},{"line_number":44,"context_line":"                       help\u003d\u0027the url to Gerrit server\u0027)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"def fetch(change, output\u003dNone, gerrit\u003dGERRIT_URL):"},{"line_number":48,"context_line":"    params \u003d {\u0027download\u0027: None}"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_053b1bc9","line":45,"updated":"2020-01-17 08:06:47.000000000","message":"one question: here You are using argparse.ArgumentParser but in migrate_names.py You are using click library. Why this difference?","commit_id":"995f3dc251b92443efd8cb25731d01f622596b69"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"d41cf71dd38481200436eb9743546d5f164f37a9","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                       default\u003dGERRIT_URL,"},{"line_number":43,"context_line":"                       nargs\u003d\u0027?\u0027,"},{"line_number":44,"context_line":"                       help\u003d\u0027the url to Gerrit server\u0027)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"def fetch(change, output\u003dNone, gerrit\u003dGERRIT_URL):"},{"line_number":48,"context_line":"    params \u003d {\u0027download\u0027: None}"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_2855ce1f","line":45,"in_reply_to":"3fa7e38b_053b1bc9","updated":"2020-01-17 09:56:28.000000000","message":"I wrote each one of the scripts in sequence and intended to have as few dependencies as possible. But then decided to make my life easier by using requests and followed that with click. I am not proud of this inconsistency. :^/ I really like how click makes arg parsing simple. Do you think it would be better to make all 3 scripts do that? It should not take much effort at all.","commit_id":"995f3dc251b92443efd8cb25731d01f622596b69"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"f19b7bdd6baff7946da75861d99c08427e43b206","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                       default\u003dGERRIT_URL,"},{"line_number":43,"context_line":"                       nargs\u003d\u0027?\u0027,"},{"line_number":44,"context_line":"                       help\u003d\u0027the url to Gerrit server\u0027)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"def fetch(change, output\u003dNone, gerrit\u003dGERRIT_URL):"},{"line_number":48,"context_line":"    params \u003d {\u0027download\u0027: None}"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_bb5d8617","line":45,"in_reply_to":"3fa7e38b_2855ce1f","updated":"2020-01-17 10:05:04.000000000","message":"IMO if we are introducing this new dependency and it makes Your life easier, we should use it at least in all those scripts to be consistent at least in this patch :)","commit_id":"995f3dc251b92443efd8cb25731d01f622596b69"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"6a2dd267285dd3700bdfb1bd956d58ab3fd60b34","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                       default\u003dGERRIT_URL,"},{"line_number":43,"context_line":"                       nargs\u003d\u0027?\u0027,"},{"line_number":44,"context_line":"                       help\u003d\u0027the url to Gerrit server\u0027)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"def fetch(change, output\u003dNone, gerrit\u003dGERRIT_URL):"},{"line_number":48,"context_line":"    params \u003d {\u0027download\u0027: None}"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_fba8deda","line":45,"in_reply_to":"3fa7e38b_bb5d8617","updated":"2020-01-17 10:06:42.000000000","message":"Yeah. Very valid point. Let me do that! Thank you for pointing this put.","commit_id":"995f3dc251b92443efd8cb25731d01f622596b69"}],"tools/files_in_patch.py":[{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"b1af65837faa47c9fed3929c82362fc32103bc7f","unresolved":false,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    prune_unwanted_names()"},{"line_number":121,"context_line":"    print_file_names()"},{"line_number":122,"context_line":"    sys.exit(0)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"# \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_e6375eae","line":122,"range":{"start_line":122,"start_character":4,"end_line":122,"end_character":15},"updated":"2020-01-09 10:55:01.000000000","message":"I don\u0027t know if we need this one.","commit_id":"4dddc0bf3365ccaa3422399f9df11dae1b4a9be7"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"8585cf0e85d16405719cfdbe32a6a5396ae47426","unresolved":false,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    prune_unwanted_names()"},{"line_number":121,"context_line":"    print_file_names()"},{"line_number":122,"context_line":"    sys.exit(0)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"# \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_bb873412","line":122,"range":{"start_line":122,"start_character":4,"end_line":122,"end_character":15},"in_reply_to":"3fa7e38b_e6375eae","updated":"2020-01-09 20:38:25.000000000","message":"Done","commit_id":"4dddc0bf3365ccaa3422399f9df11dae1b4a9be7"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e6b83545278f8121ffafd13c9ff3746dab47d222","unresolved":false,"context_lines":[{"line_number":32,"context_line":"# \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"def parse_input(input_file):"},{"line_number":35,"context_line":"    global debug, file_names"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    while 1:"},{"line_number":38,"context_line":"        line_buffer \u003d input_file.readline()"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_6b18bccc","line":35,"updated":"2020-01-15 20:10:13.000000000","message":"necessary for debug?  same below","commit_id":"765bf0034df65297ff043cc644203f97527a861f"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"424c5164b2d6ee5a9c9d00f73f93a72fea5b486b","unresolved":false,"context_lines":[{"line_number":32,"context_line":"# \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"def parse_input(input_file):"},{"line_number":35,"context_line":"    global debug, file_names"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    while 1:"},{"line_number":38,"context_line":"        line_buffer \u003d input_file.readline()"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_bd00286b","line":35,"in_reply_to":"3fa7e38b_6b18bccc","updated":"2020-01-16 19:03:52.000000000","message":"don\u0027t need it, let me remove this debug cruft","commit_id":"765bf0034df65297ff043cc644203f97527a861f"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e6b83545278f8121ffafd13c9ff3746dab47d222","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        line_buffer \u003d input_file.readline()"},{"line_number":39,"context_line":"        if not line_buffer:"},{"line_number":40,"context_line":"            break"},{"line_number":41,"context_line":"        # print line_buffer,"},{"line_number":42,"context_line":"        line_match \u003d re.search(r\"^\\s*---\\s+([^\\s@]+)[\\s@]+\", line_buffer)"},{"line_number":43,"context_line":"        if not line_match:"},{"line_number":44,"context_line":"            line_match \u003d re.search(r\"^\\s*\\+\\+\\+\\s+([^\\s@]+)[\\s@]+\","}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_ab1eb4b9","line":41,"updated":"2020-01-15 20:10:13.000000000","message":"under \u0027if debug:\u0027 ?","commit_id":"765bf0034df65297ff043cc644203f97527a861f"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"424c5164b2d6ee5a9c9d00f73f93a72fea5b486b","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        line_buffer \u003d input_file.readline()"},{"line_number":39,"context_line":"        if not line_buffer:"},{"line_number":40,"context_line":"            break"},{"line_number":41,"context_line":"        # print line_buffer,"},{"line_number":42,"context_line":"        line_match \u003d re.search(r\"^\\s*---\\s+([^\\s@]+)[\\s@]+\", line_buffer)"},{"line_number":43,"context_line":"        if not line_match:"},{"line_number":44,"context_line":"            line_match \u003d re.search(r\"^\\s*\\+\\+\\+\\s+([^\\s@]+)[\\s@]+\","}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_dd03a474","line":41,"in_reply_to":"3fa7e38b_ab1eb4b9","updated":"2020-01-16 19:03:52.000000000","message":"Done","commit_id":"765bf0034df65297ff043cc644203f97527a861f"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e6b83545278f8121ffafd13c9ff3746dab47d222","unresolved":false,"context_lines":[{"line_number":97,"context_line":"            print(\"{} \u003d\u003d\u003e {}\".format(currName, file_names[currName]))"},{"line_number":98,"context_line":"    else:"},{"line_number":99,"context_line":"        for currName in names:"},{"line_number":100,"context_line":"            print(currName)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"# \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_0b5ca87e","line":100,"updated":"2020-01-15 20:10:13.000000000","message":"Seems this should be reversed:\n\nfor currName in names:\n    if debug:\n        ...\n    else:\n        ....","commit_id":"765bf0034df65297ff043cc644203f97527a861f"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"424c5164b2d6ee5a9c9d00f73f93a72fea5b486b","unresolved":false,"context_lines":[{"line_number":97,"context_line":"            print(\"{} \u003d\u003d\u003e {}\".format(currName, file_names[currName]))"},{"line_number":98,"context_line":"    else:"},{"line_number":99,"context_line":"        for currName in names:"},{"line_number":100,"context_line":"            print(currName)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"# \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_5defb4b1","line":100,"in_reply_to":"3fa7e38b_0b5ca87e","updated":"2020-01-16 19:03:52.000000000","message":"Let me remove this debug cruft","commit_id":"765bf0034df65297ff043cc644203f97527a861f"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e6b83545278f8121ffafd13c9ff3746dab47d222","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    else:"},{"line_number":110,"context_line":"        for currInputName in sys.argv[1:]:"},{"line_number":111,"context_line":"            try:"},{"line_number":112,"context_line":"                # print currInputName"},{"line_number":113,"context_line":"                currInputFile \u003d open(currInputName, \u0027r\u0027)"},{"line_number":114,"context_line":"                parse_input(currInputFile)"},{"line_number":115,"context_line":"                currInputFile.close()"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_8b4f38be","line":112,"updated":"2020-01-15 20:10:13.000000000","message":"under \u0027if debug:\u0027 ?","commit_id":"765bf0034df65297ff043cc644203f97527a861f"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"424c5164b2d6ee5a9c9d00f73f93a72fea5b486b","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    else:"},{"line_number":110,"context_line":"        for currInputName in sys.argv[1:]:"},{"line_number":111,"context_line":"            try:"},{"line_number":112,"context_line":"                # print currInputName"},{"line_number":113,"context_line":"                currInputFile \u003d open(currInputName, \u0027r\u0027)"},{"line_number":114,"context_line":"                parse_input(currInputFile)"},{"line_number":115,"context_line":"                currInputFile.close()"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_bd258818","line":112,"in_reply_to":"3fa7e38b_8b4f38be","updated":"2020-01-16 19:03:52.000000000","message":"don\u0027t need it, let me remove this debug cruft","commit_id":"765bf0034df65297ff043cc644203f97527a861f"}],"tools/requirements.txt":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e6b83545278f8121ffafd13c9ff3746dab47d222","unresolved":false,"context_lines":[{"line_number":2,"context_line":"# of appearance. Changing the order has an impact on the overall integration"},{"line_number":3,"context_line":"# process, which may cause wedges in the gate later."},{"line_number":4,"context_line":"click\u003e\u003d7.0 # BSD"},{"line_number":5,"context_line":"requests\u003e\u003d2.14.2 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":8,"id":"3fa7e38b_0bc108fe","line":5,"updated":"2020-01-15 20:10:13.000000000","message":"Just curious where this file is used","commit_id":"765bf0034df65297ff043cc644203f97527a861f"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"424c5164b2d6ee5a9c9d00f73f93a72fea5b486b","unresolved":false,"context_lines":[{"line_number":2,"context_line":"# of appearance. Changing the order has an impact on the overall integration"},{"line_number":3,"context_line":"# process, which may cause wedges in the gate later."},{"line_number":4,"context_line":"click\u003e\u003d7.0 # BSD"},{"line_number":5,"context_line":"requests\u003e\u003d2.14.2 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":8,"id":"3fa7e38b_bd0ee88c","line":5,"in_reply_to":"3fa7e38b_0bc108fe","updated":"2020-01-16 19:03:52.000000000","message":"requests is used in download_gerrit_change.py\n\nand click is used in migrate_names.py","commit_id":"765bf0034df65297ff043cc644203f97527a861f"}]}
