)]}'
{"tox.ini":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"2ee5b596848d8a7705be6d71ddad3df970d33bdf","unresolved":false,"context_lines":[{"line_number":6,"context_line":"[testenv]"},{"line_number":7,"context_line":"usedevelop \u003d True"},{"line_number":8,"context_line":"whitelist_externals \u003d rm"},{"line_number":9,"context_line":"install_command \u003d pip install -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} {opts} {packages}"},{"line_number":10,"context_line":"deps \u003d -r{toxinidir}/test-requirements.txt"},{"line_number":11,"context_line":"       -r{toxinidir}/requirements.txt"},{"line_number":12,"context_line":"setenv \u003d VIRTUAL_ENV\u003d{envdir}"}],"source_content_type":"text/x-properties","patch_set":3,"id":"3fa7e38b_2d4fc734","line":9,"updated":"2019-09-25 21:35:16.000000000","message":"Once you update \"deps\" below (L.10-11), \"install_command\" can be dropped. Modifying \"install_command\" in tox.ini was our old convention, but it has been cleanup in most projects. blazar can follow it.","commit_id":"d1917d14ea5b909965d45f2d755f7b3c709597bc"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"2ee5b596848d8a7705be6d71ddad3df970d33bdf","unresolved":false,"context_lines":[{"line_number":7,"context_line":"usedevelop \u003d True"},{"line_number":8,"context_line":"whitelist_externals \u003d rm"},{"line_number":9,"context_line":"install_command \u003d pip install -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} {opts} {packages}"},{"line_number":10,"context_line":"deps \u003d -r{toxinidir}/test-requirements.txt"},{"line_number":11,"context_line":"       -r{toxinidir}/requirements.txt"},{"line_number":12,"context_line":"setenv \u003d VIRTUAL_ENV\u003d{envdir}"},{"line_number":13,"context_line":"         DISCOVER_DIRECTORY\u003dblazar/tests"},{"line_number":14,"context_line":"         PYTHONHASHSEED\u003d0"}],"source_content_type":"text/x-properties","patch_set":3,"id":"3fa7e38b_ad43b712","line":11,"range":{"start_line":10,"start_character":0,"end_line":11,"end_character":37},"updated":"2019-09-25 21:35:16.000000000","message":"It is better to update this to the contents at L.37-39.","commit_id":"d1917d14ea5b909965d45f2d755f7b3c709597bc"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"2ee5b596848d8a7705be6d71ddad3df970d33bdf","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"[testenv:docs]"},{"line_number":35,"context_line":"basepython \u003d python3"},{"line_number":36,"context_line":"deps \u003d"},{"line_number":37,"context_line":"    -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}"},{"line_number":38,"context_line":"    -r{toxinidir}/requirements.txt"},{"line_number":39,"context_line":"    -r{toxinidir}/test-requirements.txt"},{"line_number":40,"context_line":"commands \u003d"},{"line_number":41,"context_line":"    rm -rf doc/html doc/build"},{"line_number":42,"context_line":"    rm -rf doc/source/apidoc doc/source/api"}],"source_content_type":"text/x-properties","patch_set":3,"id":"3fa7e38b_8d3efb88","line":39,"range":{"start_line":36,"start_character":0,"end_line":39,"end_character":39},"updated":"2019-09-25 21:35:16.000000000","message":"The best practice is to update [testenv] deps to the contents here (instead of defining it here).","commit_id":"d1917d14ea5b909965d45f2d755f7b3c709597bc"}]}
