)]}'
{".zuul.yaml":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"96d3999a8caa3b6d67f6c79f27068af24c5f9614","unresolved":false,"context_lines":[{"line_number":4,"context_line":"      - publish-openstack-docs-pti"},{"line_number":5,"context_line":"      - openstack-cover-jobs"},{"line_number":6,"context_line":"      - openstack-lower-constraints-jobs"},{"line_number":7,"context_line":"      - openstack-python-jobs"},{"line_number":8,"context_line":"      - openstack-python3-train-jobs"},{"line_number":9,"context_line":"      - lib-forward-testing"},{"line_number":10,"context_line":"      - lib-forward-testing-python3"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3fa7e38b_cf4a7559","side":"PARENT","line":7,"updated":"2020-01-09 13:34:12.000000000","message":"I think dropping this dropped the pep8 job :(","commit_id":"7e95f32e34e713046fbe9cc0118a88f221f57117"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"4821bd021136af9bdfe91f1b2116924c467a8712","unresolved":false,"context_lines":[{"line_number":4,"context_line":"      - publish-openstack-docs-pti"},{"line_number":5,"context_line":"      - openstack-cover-jobs"},{"line_number":6,"context_line":"      - openstack-lower-constraints-jobs"},{"line_number":7,"context_line":"      - openstack-python-jobs"},{"line_number":8,"context_line":"      - openstack-python3-train-jobs"},{"line_number":9,"context_line":"      - lib-forward-testing"},{"line_number":10,"context_line":"      - lib-forward-testing-python3"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3fa7e38b_fa2e0d40","side":"PARENT","line":7,"in_reply_to":"3fa7e38b_7a0bfd20","updated":"2020-01-09 14:54:23.000000000","message":"Done","commit_id":"7e95f32e34e713046fbe9cc0118a88f221f57117"},{"author":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"change_message_id":"5675b1724da934b0c69295c97312bbb5c00603de","unresolved":false,"context_lines":[{"line_number":4,"context_line":"      - publish-openstack-docs-pti"},{"line_number":5,"context_line":"      - openstack-cover-jobs"},{"line_number":6,"context_line":"      - openstack-lower-constraints-jobs"},{"line_number":7,"context_line":"      - openstack-python-jobs"},{"line_number":8,"context_line":"      - openstack-python3-train-jobs"},{"line_number":9,"context_line":"      - lib-forward-testing"},{"line_number":10,"context_line":"      - lib-forward-testing-python3"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3fa7e38b_7a0bfd20","side":"PARENT","line":7,"in_reply_to":"3fa7e38b_cf4a7559","updated":"2020-01-09 14:31:32.000000000","message":"From openstack-zuul-jobs definition we should now use openstack-python3-ussuri-jobs here instead (or similar)","commit_id":"7e95f32e34e713046fbe9cc0118a88f221f57117"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"bb3821eab292a373913916e535f71e62c8b9f59d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"      - publish-openstack-docs-pti"},{"line_number":5,"context_line":"      - openstack-cover-jobs"},{"line_number":6,"context_line":"      - openstack-lower-constraints-jobs"},{"line_number":7,"context_line":"      - openstack-python3-train-jobs"},{"line_number":8,"context_line":"      - lib-forward-testing-python3"},{"line_number":9,"context_line":"      - release-notes-jobs-python3"},{"line_number":10,"context_line":"      - openstack-python3-ussuri-jobs"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3fa7e38b_baae557d","line":7,"updated":"2020-01-09 15:03:37.000000000","message":"this can go away now that ussuri job is added","commit_id":"78e76253f055e2ee1e5733ec77b705291651e958"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"5f76e945ce6fe700e3199845a6b3d93f2a966a85","unresolved":false,"context_lines":[{"line_number":4,"context_line":"      - publish-openstack-docs-pti"},{"line_number":5,"context_line":"      - openstack-cover-jobs"},{"line_number":6,"context_line":"      - openstack-lower-constraints-jobs"},{"line_number":7,"context_line":"      - openstack-python3-train-jobs"},{"line_number":8,"context_line":"      - lib-forward-testing-python3"},{"line_number":9,"context_line":"      - release-notes-jobs-python3"},{"line_number":10,"context_line":"      - openstack-python3-ussuri-jobs"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3fa7e38b_f5be1e62","line":7,"in_reply_to":"3fa7e38b_baae557d","updated":"2020-01-09 16:12:37.000000000","message":"Sigh.  I should have noticed that.  Fixed.","commit_id":"78e76253f055e2ee1e5733ec77b705291651e958"}],"/COMMIT_MSG":[{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"593ec09409c156c9a9ddf43107876e0688202f1a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     zhanghao \u003czhanghao2@cmss.chinamobile.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-11-20 04:11:26 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Stop testing Python 2"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I711ae939b5eaa1816af15b22527c38858507127f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3fa7e38b_d08d662a","line":7,"range":{"start_line":7,"start_character":5,"end_line":7,"end_character":12},"updated":"2019-11-20 10:52:17.000000000","message":"But for sure, you can only drop the CI py2 testing as the first step.","commit_id":"f7f411d63114c409fedd677551d1ad794efa97b3"}],"lower-constraints.txt":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"6867d4efb7a334e3fd85da91cefa6932109c9d0a","unresolved":false,"context_lines":[{"line_number":99,"context_line":"traceback2\u003d\u003d1.4.0"},{"line_number":100,"context_line":"unittest2\u003d\u003d1.1.0"},{"line_number":101,"context_line":"vine\u003d\u003d1.1.4"},{"line_number":102,"context_line":"weakrefmethod\u003d\u003d1.0.2"},{"line_number":103,"context_line":"WebOb\u003d\u003d1.7.1"},{"line_number":104,"context_line":"wrapt\u003d\u003d1.7.0"}],"source_content_type":"text/plain","patch_set":3,"id":"3fa7e38b_711fb808","side":"PARENT","line":102,"updated":"2020-01-08 14:51:27.000000000","message":"nit: I think this can stay, at least it has no impact on things, and there\u0027s a bunch of stuff here in the same boat.","commit_id":"7e95f32e34e713046fbe9cc0118a88f221f57117"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"b5df7399dc7403cfa0c45b8aac2e6e6be139cfae","unresolved":false,"context_lines":[{"line_number":99,"context_line":"traceback2\u003d\u003d1.4.0"},{"line_number":100,"context_line":"unittest2\u003d\u003d1.1.0"},{"line_number":101,"context_line":"vine\u003d\u003d1.1.4"},{"line_number":102,"context_line":"weakrefmethod\u003d\u003d1.0.2"},{"line_number":103,"context_line":"WebOb\u003d\u003d1.7.1"},{"line_number":104,"context_line":"wrapt\u003d\u003d1.7.0"}],"source_content_type":"text/plain","patch_set":3,"id":"3fa7e38b_ee42de66","side":"PARENT","line":102,"in_reply_to":"3fa7e38b_711fb808","updated":"2020-01-08 22:43:38.000000000","message":"restored","commit_id":"7e95f32e34e713046fbe9cc0118a88f221f57117"}],"neutron_lib/db/resource_extend.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"fb00a1a1bd7a39c13934aadfc600ac7ecff8ea03","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            if (not inspect.ismethod(unbound_method) and"},{"line_number":134,"context_line":"                    not inspect.isfunction(unbound_method)):"},{"line_number":135,"context_line":"                continue"},{"line_number":136,"context_line":"            # Handle py27/py34 difference"},{"line_number":137,"context_line":"            method \u003d getattr(unbound_method, \u0027im_func\u0027, unbound_method)"},{"line_number":138,"context_line":"            if method not in _DECORATED_EXTEND_METHODS:"},{"line_number":139,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_f20bad1e","side":"PARENT","line":136,"updated":"2020-01-08 09:30:12.000000000","message":"should we remove this comment and not remove code which handles this difference?","commit_id":"7e95f32e34e713046fbe9cc0118a88f221f57117"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"b5df7399dc7403cfa0c45b8aac2e6e6be139cfae","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            if (not inspect.ismethod(unbound_method) and"},{"line_number":134,"context_line":"                    not inspect.isfunction(unbound_method)):"},{"line_number":135,"context_line":"                continue"},{"line_number":136,"context_line":"            # Handle py27/py34 difference"},{"line_number":137,"context_line":"            method \u003d getattr(unbound_method, \u0027im_func\u0027, unbound_method)"},{"line_number":138,"context_line":"            if method not in _DECORATED_EXTEND_METHODS:"},{"line_number":139,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_6e4eee90","side":"PARENT","line":136,"in_reply_to":"3fa7e38b_f20bad1e","updated":"2020-01-08 22:43:38.000000000","message":"accidental deletion as I was restoring things deleted by OP.  Fixed.","commit_id":"7e95f32e34e713046fbe9cc0118a88f221f57117"}],"tox.ini":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"6867d4efb7a334e3fd85da91cefa6932109c9d0a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[tox]"},{"line_number":2,"context_line":"minversion \u003d 2.3.2"},{"line_number":3,"context_line":"envlist \u003d py37,pep8"},{"line_number":4,"context_line":"skipsdist \u003d True"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"[testenv]"},{"line_number":7,"context_line":"usedevelop \u003d True"}],"source_content_type":"text/x-properties","patch_set":3,"id":"3fa7e38b_51107cf4","line":4,"updated":"2020-01-08 14:51:27.000000000","message":"Do you need to put this here?\n\nignore_basepython_conflict \u003d True","commit_id":"44894c162ad10a5f080a840aa1261125bc3682c4"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"b5df7399dc7403cfa0c45b8aac2e6e6be139cfae","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[tox]"},{"line_number":2,"context_line":"minversion \u003d 2.3.2"},{"line_number":3,"context_line":"envlist \u003d py37,pep8"},{"line_number":4,"context_line":"skipsdist \u003d True"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"[testenv]"},{"line_number":7,"context_line":"usedevelop \u003d True"}],"source_content_type":"text/x-properties","patch_set":3,"id":"3fa7e38b_ce0da240","line":4,"in_reply_to":"3fa7e38b_51107cf4","updated":"2020-01-08 22:43:38.000000000","message":"Good call.  Done.","commit_id":"44894c162ad10a5f080a840aa1261125bc3682c4"}]}
