)]}'
{"setup.cfg":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"c36d202737d6d4ecd8470698698e179f1502024f","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    .venv/*"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"[coverage:html]"},{"line_number":54,"context_line":"directory \u003d reports"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"[extract_messages]"},{"line_number":57,"context_line":"keywords \u003d gettext_noop gettext_lazy ngettext_lazy:1,2 ugettext_noop ugettext_lazy ungettext_lazy:1,2 npgettext:1c,2,3 pgettext_lazy:1c,2 npgettext_lazy:1c,2,3"}],"source_content_type":"text/x-ttcn-cfg","patch_set":20,"id":"7af24918_051a786e","line":54,"updated":"2016-03-05 20:00:00.000000000","message":"Question: don\u0027t we use .coveragerc for coverage related configurations?","commit_id":"1a12a99c5121158054898334a7207bd77caf30e3"},{"author":{"_account_id":12281,"name":"Itxaka","email":"igarcia@suse.com","username":"itxaka"},"change_message_id":"e633f52285b3d09a285841f16f6999579aaf9f21","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    .venv/*"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"[coverage:html]"},{"line_number":54,"context_line":"directory \u003d reports"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"[extract_messages]"},{"line_number":57,"context_line":"keywords \u003d gettext_noop gettext_lazy ngettext_lazy:1,2 ugettext_noop ugettext_lazy ungettext_lazy:1,2 npgettext:1c,2,3 pgettext_lazy:1c,2 npgettext_lazy:1c,2,3"}],"source_content_type":"text/x-ttcn-cfg","patch_set":20,"id":"fa0719c6_2b7323b3","line":54,"in_reply_to":"7af24918_051a786e","updated":"2016-03-21 09:11:14.000000000","message":"We dont really use .coveragerc as far as I could see. We were using the coverage module calls directly with parameters in run_tests.sh[0] instead of using the much simpler coverage command + config in a file. This way, we can consolidate the configuration for several parameters in a single file for easy manipulation instead of having to rely in someone reading trougth the whole run_tests.sh to change a directory or some options related to it.\n\n[0] https://github.com/openstack/horizon/blob/master/run_tests.sh#L394","commit_id":"1a12a99c5121158054898334a7207bd77caf30e3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"b510ef8568d523560a3cd564c901bf840c22971f","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    .venv/*"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"[coverage:html]"},{"line_number":54,"context_line":"directory \u003d reports"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"[extract_messages]"},{"line_number":57,"context_line":"keywords \u003d gettext_noop gettext_lazy ngettext_lazy:1,2 ugettext_noop ugettext_lazy ungettext_lazy:1,2 npgettext:1c,2,3 pgettext_lazy:1c,2 npgettext_lazy:1c,2,3"}],"source_content_type":"text/x-ttcn-cfg","patch_set":20,"id":"9a061dce_f001a6b0","line":54,"in_reply_to":"fa0719c6_2b7323b3","updated":"2016-04-06 10:32:36.000000000","message":"Thanks for clarification. Really sounds nice.","commit_id":"1a12a99c5121158054898334a7207bd77caf30e3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"c36d202737d6d4ecd8470698698e179f1502024f","unresolved":false,"context_lines":[{"line_number":54,"context_line":"directory \u003d reports"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"[extract_messages]"},{"line_number":57,"context_line":"keywords \u003d gettext_noop gettext_lazy ngettext_lazy:1,2 ugettext_noop ugettext_lazy ungettext_lazy:1,2 npgettext:1c,2,3 pgettext_lazy:1c,2 npgettext_lazy:1c,2,3"}],"source_content_type":"text/x-ttcn-cfg","patch_set":20,"id":"7af24918_0531d8ec","line":57,"updated":"2016-03-05 20:00:00.000000000","message":"Does \"python setup.py extract_messages\" work only with this settings?\nIf not, I don\u0027t think we need this entry.\n\nAt now, the infra scripts do not require it (and run_tests.sh).\n./run_tests.sh --makemessages is only for developers who want to update *.pot in their local environments.","commit_id":"1a12a99c5121158054898334a7207bd77caf30e3"},{"author":{"_account_id":12281,"name":"Itxaka","email":"igarcia@suse.com","username":"itxaka"},"change_message_id":"e633f52285b3d09a285841f16f6999579aaf9f21","unresolved":false,"context_lines":[{"line_number":54,"context_line":"directory \u003d reports"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"[extract_messages]"},{"line_number":57,"context_line":"keywords \u003d gettext_noop gettext_lazy ngettext_lazy:1,2 ugettext_noop ugettext_lazy ungettext_lazy:1,2 npgettext:1c,2,3 pgettext_lazy:1c,2 npgettext_lazy:1c,2,3"}],"source_content_type":"text/x-ttcn-cfg","patch_set":20,"id":"fa0719c6_2bb043f4","line":57,"in_reply_to":"7af24918_0531d8ec","updated":"2016-03-21 09:11:14.000000000","message":"Yes, we need this to use the extract_messages properly.\n\nRegarding this inclusion, I did it to maintain parity with the run_test.sh script. I think the removal or inclusion of this can be done afterwards, but I think its good to provide this rigth now so developers dont lose any features.\n\nAlso, this is executed on the tox pep8 environment. Im not sure _why_ but it was like that on the old environment, so its actually running on infra during the pep8 check. Probably as a failsafe in case the extraction fails, but It would be good to move it to its own test instead of mixing it with the pep8 test. But that can come later :D","commit_id":"1a12a99c5121158054898334a7207bd77caf30e3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"b510ef8568d523560a3cd564c901bf840c22971f","unresolved":false,"context_lines":[{"line_number":54,"context_line":"directory \u003d reports"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"[extract_messages]"},{"line_number":57,"context_line":"keywords \u003d gettext_noop gettext_lazy ngettext_lazy:1,2 ugettext_noop ugettext_lazy ungettext_lazy:1,2 npgettext:1c,2,3 pgettext_lazy:1c,2 npgettext_lazy:1c,2,3"}],"source_content_type":"text/x-ttcn-cfg","patch_set":20,"id":"9a061dce_906caa36","line":57,"in_reply_to":"fa0719c6_2bb043f4","updated":"2016-04-06 10:32:36.000000000","message":"Thanks, last time I checked, I seemed to miss createmessages target in tox.ini.","commit_id":"1a12a99c5121158054898334a7207bd77caf30e3"}],"tox.ini":[{"author":{"_account_id":8040,"name":"Timur Sufiev","email":"tsufiev@gmail.com","username":"tsufiev"},"change_message_id":"6f3fd5936d1178529e8dcaf5c1d1e7badcb85ec2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[tox]"},{"line_number":2,"context_line":"envlist \u003d pep8,py27{-horizon,-openstack_dashboard,dj18},py34,releasenotes"},{"line_number":3,"context_line":"minversion \u003d 1.6"},{"line_number":4,"context_line":"skipsdist \u003d True"},{"line_number":5,"context_line":""}],"source_content_type":"text/x-properties","patch_set":11,"id":"fa69d971_d3d3b736","line":2,"updated":"2016-01-11 13:59:17.000000000","message":"How does py27{-horizon,openstack_dashboard} work, if py27 testenv tests both horizon and openstack_dashboard?","commit_id":"dfc69d57128178958600471bb3b7f5eec98940c5"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"c36d202737d6d4ecd8470698698e179f1502024f","unresolved":false,"context_lines":[{"line_number":17,"context_line":"  NOSE_WITH_OPENSTACK\u003d1"},{"line_number":18,"context_line":"  NOSE_OPENSTACK_SHOW_ELAPSED\u003d1"},{"line_number":19,"context_line":"deps \u003d"},{"line_number":20,"context_line":"  -r{toxinidir}/requirements.txt"},{"line_number":21,"context_line":"  -r{toxinidir}/test-requirements.txt"},{"line_number":22,"context_line":"commands \u003d"},{"line_number":23,"context_line":"  horizon: {envpython} {toxinidir}/manage.py test horizon --settings\u003dhorizon.test.settings {posargs}"}],"source_content_type":"text/x-properties","patch_set":20,"id":"7af24918_22068a20","line":20,"range":{"start_line":20,"start_character":2,"end_line":20,"end_character":32},"updated":"2016-03-05 20:00:00.000000000","message":"This is unnecessary because \u0027pip install\u0027 takes into account requirements.txt via setup.cfg.","commit_id":"1a12a99c5121158054898334a7207bd77caf30e3"},{"author":{"_account_id":12281,"name":"Itxaka","email":"igarcia@suse.com","username":"itxaka"},"change_message_id":"e633f52285b3d09a285841f16f6999579aaf9f21","unresolved":false,"context_lines":[{"line_number":17,"context_line":"  NOSE_WITH_OPENSTACK\u003d1"},{"line_number":18,"context_line":"  NOSE_OPENSTACK_SHOW_ELAPSED\u003d1"},{"line_number":19,"context_line":"deps \u003d"},{"line_number":20,"context_line":"  -r{toxinidir}/requirements.txt"},{"line_number":21,"context_line":"  -r{toxinidir}/test-requirements.txt"},{"line_number":22,"context_line":"commands \u003d"},{"line_number":23,"context_line":"  horizon: {envpython} {toxinidir}/manage.py test horizon --settings\u003dhorizon.test.settings {posargs}"}],"source_content_type":"text/x-properties","patch_set":20,"id":"fa0719c6_0b31ff0b","line":20,"in_reply_to":"7af24918_22068a20","updated":"2016-03-21 09:11:14.000000000","message":"We are not doing using usedevelop\u003dTrue anymore, its an explicit pip install {{deps}} instead to have more control over whats installed, and avoid installing the whole package when its not needed (hint: Its only needed to extract messages) to save time.\n\nAlso explicit vs implicit.","commit_id":"1a12a99c5121158054898334a7207bd77caf30e3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"b510ef8568d523560a3cd564c901bf840c22971f","unresolved":false,"context_lines":[{"line_number":63,"context_line":"setenv \u003d"},{"line_number":64,"context_line":"  {[testenv]setenv}"},{"line_number":65,"context_line":"commands \u003d"},{"line_number":66,"context_line":" {envpython} {toxinidir}/setup.py extract_messages -F babel-django.cfg -o horizon/locale/django.pot --input-dirs horizon/"},{"line_number":67,"context_line":" {envpython} {toxinidir}/setup.py extract_messages -F babel-djangojs.cfg -o horizon/locale/djangojs.pot --input-dirs horizon/"},{"line_number":68,"context_line":" {envpython} {toxinidir}/setup.py extract_messages -F babel-django.cfg -o openstack_dashboard/locale/django.pot --input-dirs openstack_dashboard/"},{"line_number":69,"context_line":" {envpython} {toxinidir}/setup.py extract_messages -F babel-djangojs.cfg -o openstack_dashboard/locale/djangojs.pot --input-dirs openstack_dashboard/"}],"source_content_type":"text/x-properties","patch_set":20,"id":"9a061dce_5b7193a7","line":66,"updated":"2016-04-06 10:32:36.000000000","message":"To be compatible with the infra script,\nyou need to add:\n\n  --add-comment Translators:\n\nWe sometimes update the options in the infra script\nfor better support of translators.\nThis sometimes may be out-of-sync, but I try to keep it up-to-date.","commit_id":"1a12a99c5121158054898334a7207bd77caf30e3"},{"author":{"_account_id":12071,"name":"Richard Jones","email":"r1chardj0n3s@gmail.com","username":"richard"},"change_message_id":"77478850e6f0e3c8f5744ea69648f24544937c63","unresolved":false,"context_lines":[{"line_number":122,"context_line":"commands \u003d"},{"line_number":123,"context_line":"  nodeenv -p"},{"line_number":124,"context_line":"  npm install"},{"line_number":125,"context_line":"  npm run test"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"[testenv:docs]"},{"line_number":128,"context_line":"setenv \u003d DJANGO_SETTINGS_MODULE\u003dopenstack_dashboard.test.settings"}],"source_content_type":"text/x-properties","patch_set":21,"id":"9a061dce_e1b1ec90","line":125,"updated":"2016-04-06 04:18:16.000000000","message":"I think that we should just have an npm testenv which can {posargs} the lint, test or lintq command.","commit_id":"3af5f14b9ab38526a5cf57e3cb898e07f023a162"},{"author":{"_account_id":12281,"name":"Itxaka","email":"igarcia@suse.com","username":"itxaka"},"change_message_id":"2cf82946cd4deb71f4f4bb0cc23998faca3063ec","unresolved":false,"context_lines":[{"line_number":122,"context_line":"commands \u003d"},{"line_number":123,"context_line":"  nodeenv -p"},{"line_number":124,"context_line":"  npm install"},{"line_number":125,"context_line":"  npm run test"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"[testenv:docs]"},{"line_number":128,"context_line":"setenv \u003d DJANGO_SETTINGS_MODULE\u003dopenstack_dashboard.test.settings"}],"source_content_type":"text/x-properties","patch_set":21,"id":"9a061dce_8af8fbc4","line":125,"in_reply_to":"9a061dce_e1b1ec90","updated":"2016-04-06 10:02:43.000000000","message":"Sounds sensible, will do!","commit_id":"3af5f14b9ab38526a5cf57e3cb898e07f023a162"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"1672a0e75b9dac605356a4c8a3946be6fe7d5435","unresolved":false,"context_lines":[{"line_number":66,"context_line":" {envpython} {toxinidir}/setup.py extract_messages -F babel-django.cfg -o horizon/locale/django.pot --input-dirs horizon/"},{"line_number":67,"context_line":" {envpython} {toxinidir}/setup.py extract_messages -F babel-djangojs.cfg -o horizon/locale/djangojs.pot --input-dirs horizon/"},{"line_number":68,"context_line":" {envpython} {toxinidir}/setup.py extract_messages -F babel-django.cfg -o openstack_dashboard/locale/django.pot --input-dirs openstack_dashboard/"},{"line_number":69,"context_line":" {envpython} {toxinidir}/setup.py extract_messages -F babel-djangojs.cfg -o openstack_dashboard/locale/djangojs.pot --input-dirs openstack_dashboard/"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"[testenv:createmessages_check]"},{"line_number":72,"context_line":"# Only checks to see if translation files can be created and cleans afterwards"}],"source_content_type":"text/x-properties","patch_set":22,"id":"9a061dce_9bf84bc5","line":69,"updated":"2016-04-06 10:41:00.000000000","message":"To be compatible with the infra script,\n\n  --add-comment Translators:\n\nneeds to be added.\nThe infra script now has its own functions to extract messages, so \ncommand-lines in the horizon side tend to be out-of-sync, but it cannot be avoided.","commit_id":"278b99fa090402f3e5237162dd239931e15b5acc"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"1672a0e75b9dac605356a4c8a3946be6fe7d5435","unresolved":false,"context_lines":[{"line_number":79,"context_line":"  {[testenv:createmessages]commands}"},{"line_number":80,"context_line":"  git checkout -- horizon/locale/django*.pot"},{"line_number":81,"context_line":"  git checkout -- openstack_dashboard/locale/django*.pot"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"[testenv:venv]"},{"line_number":85,"context_line":"commands \u003d {posargs}"}],"source_content_type":"text/x-properties","patch_set":22,"id":"9a061dce_7bdbb74f","line":82,"updated":"2016-04-06 10:41:00.000000000","message":"Is there any compatible tox env for compilemessages?\nIt is used to compile message catalogs in devstack.\n\nI am not sure how we can achieve the current compilemessage by using tox -e manage below.","commit_id":"278b99fa090402f3e5237162dd239931e15b5acc"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"a5bedb31d1b5cf1c9ef53195b4aa742dbec6e3f6","unresolved":false,"context_lines":[{"line_number":49,"context_line":"[testenv:pep8]"},{"line_number":50,"context_line":"usedevelop \u003d True"},{"line_number":51,"context_line":"whitelist_externals \u003d"},{"line_number":52,"context_line":"  git"},{"line_number":53,"context_line":"setenv \u003d"},{"line_number":54,"context_line":"  {[testenv]setenv}"},{"line_number":55,"context_line":"  DJANGO_SETTINGS_MODULE\u003dopenstack_dashboard.test.settings"}],"source_content_type":"text/x-properties","patch_set":24,"id":"7a1b2928_7474c49b","line":52,"range":{"start_line":52,"start_character":2,"end_line":52,"end_character":5},"updated":"2016-04-11 15:02:40.000000000","message":"question: why is it needed?","commit_id":"df582e995d1b79e66c7d501be02cba07cff36eb6"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"9497e0538ab27847aa1194e0c5484241aae4acb1","unresolved":false,"context_lines":[{"line_number":49,"context_line":"[testenv:pep8]"},{"line_number":50,"context_line":"usedevelop \u003d True"},{"line_number":51,"context_line":"whitelist_externals \u003d"},{"line_number":52,"context_line":"  git"},{"line_number":53,"context_line":"setenv \u003d"},{"line_number":54,"context_line":"  {[testenv]setenv}"},{"line_number":55,"context_line":"  DJANGO_SETTINGS_MODULE\u003dopenstack_dashboard.test.settings"}],"source_content_type":"text/x-properties","patch_set":24,"id":"5a18252c_a5a3d39d","line":52,"in_reply_to":"5a18252c_a3ef58af","updated":"2016-04-12 12:06:05.000000000","message":"Sorry, I missed pep8 env calls createmessages_check which calls git command. It seems I looked createmessages env :-(","commit_id":"df582e995d1b79e66c7d501be02cba07cff36eb6"},{"author":{"_account_id":12281,"name":"Itxaka","email":"igarcia@suse.com","username":"itxaka"},"change_message_id":"6c6c5df0c8859293f2e7644d6a72b361904e1361","unresolved":false,"context_lines":[{"line_number":49,"context_line":"[testenv:pep8]"},{"line_number":50,"context_line":"usedevelop \u003d True"},{"line_number":51,"context_line":"whitelist_externals \u003d"},{"line_number":52,"context_line":"  git"},{"line_number":53,"context_line":"setenv \u003d"},{"line_number":54,"context_line":"  {[testenv]setenv}"},{"line_number":55,"context_line":"  DJANGO_SETTINGS_MODULE\u003dopenstack_dashboard.test.settings"}],"source_content_type":"text/x-properties","patch_set":24,"id":"5a18252c_a3ef58af","line":52,"in_reply_to":"7a1b2928_7474c49b","updated":"2016-04-12 08:52:00.000000000","message":"As a precaution, when system tools are used that are not installed on the tox virtual env, tox will show a message telling you that you are using a tool from outside the virtualenv.\n\nThis is as a precaution to avoid trying to use tools installed in the venv (like node or pybabel) and using the system wide which could lead to false results due to versions.\n\nThe whitelist command will only prevent the message appearing while running the tests. In this case, we want to use the system-wide git command so we whitelist it.","commit_id":"df582e995d1b79e66c7d501be02cba07cff36eb6"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"a5bedb31d1b5cf1c9ef53195b4aa742dbec6e3f6","unresolved":false,"context_lines":[{"line_number":58,"context_line":"  flake8"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"[testenv:createmessages]"},{"line_number":62,"context_line":"usedevelop \u003d True"},{"line_number":63,"context_line":"setenv \u003d"},{"line_number":64,"context_line":"  {[testenv]setenv}"}],"source_content_type":"text/x-properties","patch_set":24,"id":"7a1b2928_148e3078","line":61,"range":{"start_line":61,"start_character":9,"end_line":61,"end_character":23},"updated":"2016-04-11 15:02:40.000000000","message":"I think \"extractmessages\" is more common word.","commit_id":"df582e995d1b79e66c7d501be02cba07cff36eb6"},{"author":{"_account_id":12281,"name":"Itxaka","email":"igarcia@suse.com","username":"itxaka"},"change_message_id":"6c6c5df0c8859293f2e7644d6a72b361904e1361","unresolved":false,"context_lines":[{"line_number":58,"context_line":"  flake8"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"[testenv:createmessages]"},{"line_number":62,"context_line":"usedevelop \u003d True"},{"line_number":63,"context_line":"setenv \u003d"},{"line_number":64,"context_line":"  {[testenv]setenv}"}],"source_content_type":"text/x-properties","patch_set":24,"id":"5a18252c_03128cb4","line":61,"in_reply_to":"7a1b2928_148e3078","updated":"2016-04-12 08:52:00.000000000","message":"yeah, that sounds more in line with what it does.","commit_id":"df582e995d1b79e66c7d501be02cba07cff36eb6"}]}
