)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"4c9c85becc31b1309208b735ab99e89f9c2e16f5","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Switch to testrepository for running tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This copies helper scripts like run_tests.sh and scripts from"},{"line_number":10,"context_line":"tools/ directory from Glance."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I75d4fdfef03a43a19644af9fbd1eb0d4744ba144"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a7e1126_b7541121","line":9,"range":{"start_line":9,"start_character":12,"end_line":9,"end_character":18},"updated":"2015-12-18 10:55:29.000000000","message":"I don\u0027t understand the value added by your script if we compare to \"tox -e pep8,py27,py34,cover\" I though that you just want to add a script to run tox.","commit_id":"e403a21928ea35b39708b90b5af5bacd52fc8adc"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6fab7d5bec79d91e0087a813ae6e810f2226b06d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Switch to testrepository for running tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This copies helper scripts like run_tests.sh and scripts from"},{"line_number":10,"context_line":"tools/ directory from Glance."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I75d4fdfef03a43a19644af9fbd1eb0d4744ba144"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a7e1126_b8e064fb","line":9,"range":{"start_line":9,"start_character":12,"end_line":9,"end_character":18},"in_reply_to":"3a7e1126_b7541121","updated":"2015-12-18 20:39:07.000000000","message":"I wanted to add script which is also used in other Openstack projects (like neutron, nova, glance, etc.). It also provides possibility to easy creation of virtualn environment and run tests with or without venv.","commit_id":"e403a21928ea35b39708b90b5af5bacd52fc8adc"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"3bb664096959bd6192666ca085728517e8eee2c1","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Switch to testrepository for running tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This copies helper scripts like run_tests.sh and scripts from"},{"line_number":10,"context_line":"tools/ directory from Glance."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I75d4fdfef03a43a19644af9fbd1eb0d4744ba144"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a7e1126_3753fa6c","line":9,"range":{"start_line":9,"start_character":12,"end_line":9,"end_character":18},"in_reply_to":"3a7e1126_b8e064fb","updated":"2015-12-21 09:48:16.000000000","message":"As discussed on IRC, I see your point but younger projects like magnum or ironic do not have these kind of scripts.\nMoreover, you can already create virtualenv with Tox. Tox is a generic virtualenv management and test command line tooL\n\n\nThis a lot of code which may take us some time to maintain.\nnot sure there is real added value.","commit_id":"e403a21928ea35b39708b90b5af5bacd52fc8adc"}],"run_tests.sh":[{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"4c9c85becc31b1309208b735ab99e89f9c2e16f5","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  done"},{"line_number":71,"context_line":"}"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"tool_path\u003d${tools_path:-$(pwd)}"},{"line_number":74,"context_line":"venv_path\u003d${venv_path:-$(pwd)}"},{"line_number":75,"context_line":"venv_dir\u003d${venv_name:-.venv}"},{"line_number":76,"context_line":"with_venv\u003dtools/with_venv.sh"}],"source_content_type":"text/x-sh","patch_set":2,"id":"3a7e1126_81999721","line":73,"range":{"start_line":73,"start_character":0,"end_line":73,"end_character":9},"updated":"2015-12-18 10:55:29.000000000","message":"tool_path appears unused.","commit_id":"e403a21928ea35b39708b90b5af5bacd52fc8adc"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6fab7d5bec79d91e0087a813ae6e810f2226b06d","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  done"},{"line_number":71,"context_line":"}"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"tool_path\u003d${tools_path:-$(pwd)}"},{"line_number":74,"context_line":"venv_path\u003d${venv_path:-$(pwd)}"},{"line_number":75,"context_line":"venv_dir\u003d${venv_name:-.venv}"},{"line_number":76,"context_line":"with_venv\u003dtools/with_venv.sh"}],"source_content_type":"text/x-sh","patch_set":2,"id":"3a7e1126_78d19cf9","line":73,"range":{"start_line":73,"start_character":0,"end_line":73,"end_character":9},"in_reply_to":"3a7e1126_81999721","updated":"2015-12-18 20:39:07.000000000","message":"Done","commit_id":"e403a21928ea35b39708b90b5af5bacd52fc8adc"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"4c9c85becc31b1309208b735ab99e89f9c2e16f5","unresolved":false,"context_lines":[{"line_number":139,"context_line":"    ${wrapper} python setup.py egg_info"},{"line_number":140,"context_line":"  fi"},{"line_number":141,"context_line":"  echo \"Running \\`${wrapper} $TESTRTESTS\\`\""},{"line_number":142,"context_line":"  if ${wrapper} which subunit-2to1 2\u003e\u00261 \u003e /dev/null"},{"line_number":143,"context_line":"  then"},{"line_number":144,"context_line":"    # subunit-2to1 is present, testr subunit stream should be in version 2"},{"line_number":145,"context_line":"    # format. Convert to version one before colorizing."}],"source_content_type":"text/x-sh","patch_set":2,"id":"3a7e1126_a1e613b2","line":142,"range":{"start_line":142,"start_character":14,"end_line":142,"end_character":15},"updated":"2015-12-18 10:55:29.000000000","message":"IMHO, the order of the 2\u003e\u00261 and the 2\u003e\u00261 has to be last.\n2\u003e\u00261 \u003e /dev/null\ncorrect : \n\u003e /dev/null 2\u003e\u00261","commit_id":"e403a21928ea35b39708b90b5af5bacd52fc8adc"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6fab7d5bec79d91e0087a813ae6e810f2226b06d","unresolved":false,"context_lines":[{"line_number":139,"context_line":"    ${wrapper} python setup.py egg_info"},{"line_number":140,"context_line":"  fi"},{"line_number":141,"context_line":"  echo \"Running \\`${wrapper} $TESTRTESTS\\`\""},{"line_number":142,"context_line":"  if ${wrapper} which subunit-2to1 2\u003e\u00261 \u003e /dev/null"},{"line_number":143,"context_line":"  then"},{"line_number":144,"context_line":"    # subunit-2to1 is present, testr subunit stream should be in version 2"},{"line_number":145,"context_line":"    # format. Convert to version one before colorizing."}],"source_content_type":"text/x-sh","patch_set":2,"id":"3a7e1126_d88a101b","line":142,"range":{"start_line":142,"start_character":14,"end_line":142,"end_character":15},"in_reply_to":"3a7e1126_a1e613b2","updated":"2015-12-18 20:39:07.000000000","message":"Done","commit_id":"e403a21928ea35b39708b90b5af5bacd52fc8adc"}],"tools/install_venv.py":[{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"4c9c85becc31b1309208b735ab99e89f9c2e16f5","unresolved":false,"context_lines":[{"line_number":18,"context_line":"#    under the License."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":"Installation script for Glance\u0027s development virtualenv"},{"line_number":22,"context_line":"\"\"\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from __future__ import print_function"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a7e1126_61326b12","line":21,"range":{"start_line":21,"start_character":24,"end_line":21,"end_character":30},"updated":"2015-12-18 10:55:29.000000000","message":"s/Glance\u0027s/Watcher","commit_id":"e403a21928ea35b39708b90b5af5bacd52fc8adc"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6fab7d5bec79d91e0087a813ae6e810f2226b06d","unresolved":false,"context_lines":[{"line_number":18,"context_line":"#    under the License."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":"Installation script for Glance\u0027s development virtualenv"},{"line_number":22,"context_line":"\"\"\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from __future__ import print_function"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a7e1126_3872344a","line":21,"range":{"start_line":21,"start_character":24,"end_line":21,"end_character":30},"in_reply_to":"3a7e1126_61326b12","updated":"2015-12-18 20:39:07.000000000","message":"Done","commit_id":"e403a21928ea35b39708b90b5af5bacd52fc8adc"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"4c9c85becc31b1309208b735ab99e89f9c2e16f5","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def print_help():"},{"line_number":33,"context_line":"    help \u003d \"\"\""},{"line_number":34,"context_line":" Glance development environment setup is complete."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":" Glance development uses virtualenv to track and manage Python dependencies"},{"line_number":37,"context_line":" while in development and testing."}],"source_content_type":"text/x-python","patch_set":2,"id":"3a7e1126_c17d5fb2","line":34,"range":{"start_line":34,"start_character":1,"end_line":34,"end_character":7},"updated":"2015-12-18 10:55:29.000000000","message":"s/Glance/Watcher","commit_id":"e403a21928ea35b39708b90b5af5bacd52fc8adc"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6fab7d5bec79d91e0087a813ae6e810f2226b06d","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def print_help():"},{"line_number":33,"context_line":"    help \u003d \"\"\""},{"line_number":34,"context_line":" Glance development environment setup is complete."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":" Glance development uses virtualenv to track and manage Python dependencies"},{"line_number":37,"context_line":" while in development and testing."}],"source_content_type":"text/x-python","patch_set":2,"id":"3a7e1126_d891b048","line":34,"range":{"start_line":34,"start_character":1,"end_line":34,"end_character":7},"in_reply_to":"3a7e1126_c17d5fb2","updated":"2015-12-18 20:39:07.000000000","message":"Done","commit_id":"e403a21928ea35b39708b90b5af5bacd52fc8adc"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"4c9c85becc31b1309208b735ab99e89f9c2e16f5","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    help \u003d \"\"\""},{"line_number":34,"context_line":" Glance development environment setup is complete."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":" Glance development uses virtualenv to track and manage Python dependencies"},{"line_number":37,"context_line":" while in development and testing."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":" To activate the Glance virtualenv for the extent of your current shell session"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a7e1126_2145436f","line":36,"range":{"start_line":36,"start_character":1,"end_line":36,"end_character":7},"updated":"2015-12-18 10:55:29.000000000","message":"s/Glance/Watcher","commit_id":"e403a21928ea35b39708b90b5af5bacd52fc8adc"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6fab7d5bec79d91e0087a813ae6e810f2226b06d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    help \u003d \"\"\""},{"line_number":34,"context_line":" Glance development environment setup is complete."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":" Glance development uses virtualenv to track and manage Python dependencies"},{"line_number":37,"context_line":" while in development and testing."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":" To activate the Glance virtualenv for the extent of your current shell session"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a7e1126_f896ec3d","line":36,"range":{"start_line":36,"start_character":1,"end_line":36,"end_character":7},"in_reply_to":"3a7e1126_2145436f","updated":"2015-12-18 20:39:07.000000000","message":"Done","commit_id":"e403a21928ea35b39708b90b5af5bacd52fc8adc"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"4c9c85becc31b1309208b735ab99e89f9c2e16f5","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    pip_requires \u003d os.path.join(root, \u0027requirements.txt\u0027)"},{"line_number":58,"context_line":"    test_requires \u003d os.path.join(root, \u0027test-requirements.txt\u0027)"},{"line_number":59,"context_line":"    py_version \u003d \"python%s.%s\" % (sys.version_info[0], sys.version_info[1])"},{"line_number":60,"context_line":"    project \u003d \u0027Glance\u0027"},{"line_number":61,"context_line":"    install \u003d install_venv.InstallVenv(root, venv, pip_requires, test_requires,"},{"line_number":62,"context_line":"                                       py_version, project)"},{"line_number":63,"context_line":"    options \u003d install.parse_args(argv)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a7e1126_a1305302","line":60,"range":{"start_line":60,"start_character":15,"end_line":60,"end_character":21},"updated":"2015-12-18 10:55:29.000000000","message":"s/Glance/Watcher","commit_id":"e403a21928ea35b39708b90b5af5bacd52fc8adc"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6fab7d5bec79d91e0087a813ae6e810f2226b06d","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    pip_requires \u003d os.path.join(root, \u0027requirements.txt\u0027)"},{"line_number":58,"context_line":"    test_requires \u003d os.path.join(root, \u0027test-requirements.txt\u0027)"},{"line_number":59,"context_line":"    py_version \u003d \"python%s.%s\" % (sys.version_info[0], sys.version_info[1])"},{"line_number":60,"context_line":"    project \u003d \u0027Glance\u0027"},{"line_number":61,"context_line":"    install \u003d install_venv.InstallVenv(root, venv, pip_requires, test_requires,"},{"line_number":62,"context_line":"                                       py_version, project)"},{"line_number":63,"context_line":"    options \u003d install.parse_args(argv)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a7e1126_b89ce45d","line":60,"range":{"start_line":60,"start_character":15,"end_line":60,"end_character":21},"in_reply_to":"3a7e1126_a1305302","updated":"2015-12-18 20:39:07.000000000","message":"Done","commit_id":"e403a21928ea35b39708b90b5af5bacd52fc8adc"}]}
