)]}'
{".zuul.yaml":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"5b36ccbee82bb359e8286a2b01992a2256981d90","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Initial set of jobs that will be extended over time as"},{"line_number":2,"context_line":"# we get things working."},{"line_number":3,"context_line":"- project:"},{"line_number":4,"context_line":"    # TODO(cdent): Start using templates for python jobs once"},{"line_number":5,"context_line":"    # these are all voting and we are satisfied things are working"},{"line_number":6,"context_line":"    # well."},{"line_number":7,"context_line":"    # templates:"},{"line_number":8,"context_line":"    check:"},{"line_number":9,"context_line":"      jobs:"},{"line_number":10,"context_line":"        - openstack-tox-functional"},{"line_number":11,"context_line":"        - openstack-tox-functional-py35"},{"line_number":12,"context_line":"        - openstack-tox-functional-py36"},{"line_number":13,"context_line":"        - openstack-tox-py27"},{"line_number":14,"context_line":"        - openstack-tox-py35"},{"line_number":15,"context_line":"        - openstack-tox-py36"},{"line_number":16,"context_line":"        - openstack-tox-pep8"},{"line_number":17,"context_line":"        - build-openstack-api-ref"},{"line_number":18,"context_line":"        - build-openstack-docs"},{"line_number":19,"context_line":"    gate:"},{"line_number":20,"context_line":"      jobs:"},{"line_number":21,"context_line":"        - openstack-tox-functional"},{"line_number":22,"context_line":"        - openstack-tox-functional-py35"},{"line_number":23,"context_line":"        - openstack-tox-functional-py36"},{"line_number":24,"context_line":"        - openstack-tox-py27"},{"line_number":25,"context_line":"        - openstack-tox-py35"},{"line_number":26,"context_line":"        - openstack-tox-py36"},{"line_number":27,"context_line":"        - openstack-tox-pep8"},{"line_number":28,"context_line":"        - build-openstack-api-ref"},{"line_number":29,"context_line":"        - build-openstack-docs"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"3f79a3b5_6f411f63","line":29,"range":{"start_line":3,"start_character":2,"end_line":29,"end_character":0},"updated":"2018-09-05 22:09:43.000000000","message":"Job build-openstack-docs not defined","commit_id":"b5f7f92f5baec71f45b5a02ee6efb09d730b4c2c"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"c734b9d30d7d65c9cfc795195eb148a8934ebe06","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Initial set of jobs that will be extended over time as"},{"line_number":2,"context_line":"# we get things working."},{"line_number":3,"context_line":"- project:"},{"line_number":4,"context_line":"    # TODO(cdent): Start using templates for python jobs once"},{"line_number":5,"context_line":"    # these are all voting and we are satisfied things are working"},{"line_number":6,"context_line":"    # well."},{"line_number":7,"context_line":"    # templates:"},{"line_number":8,"context_line":"    check:"},{"line_number":9,"context_line":"      jobs:"},{"line_number":10,"context_line":"        - openstack-tox-functional"},{"line_number":11,"context_line":"        - openstack-tox-functional-py35"},{"line_number":12,"context_line":"        - openstack-tox-functional-py36"},{"line_number":13,"context_line":"        - openstack-tox-py27"},{"line_number":14,"context_line":"        - openstack-tox-py35"},{"line_number":15,"context_line":"        - openstack-tox-py36"},{"line_number":16,"context_line":"        - openstack-tox-pep8"},{"line_number":17,"context_line":"        - build-openstack-api-ref"},{"line_number":18,"context_line":"        - build-openstack-docs"},{"line_number":19,"context_line":"    gate:"},{"line_number":20,"context_line":"      jobs:"},{"line_number":21,"context_line":"        - openstack-tox-functional"},{"line_number":22,"context_line":"        - openstack-tox-functional-py35"},{"line_number":23,"context_line":"        - openstack-tox-functional-py36"},{"line_number":24,"context_line":"        - openstack-tox-py27"},{"line_number":25,"context_line":"        - openstack-tox-py35"},{"line_number":26,"context_line":"        - openstack-tox-py36"},{"line_number":27,"context_line":"        - openstack-tox-pep8"},{"line_number":28,"context_line":"        - build-openstack-api-ref"},{"line_number":29,"context_line":"        - build-openstack-docs"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"3f79a3b5_c19fe7b1","line":29,"range":{"start_line":3,"start_character":2,"end_line":29,"end_character":0},"in_reply_to":"3f79a3b5_6f411f63","updated":"2018-09-05 22:20:47.000000000","message":"Could it be called build-openstack-doc ? Where would a guy find that out?","commit_id":"b5f7f92f5baec71f45b5a02ee6efb09d730b4c2c"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"ff685fa274bf4a65e5099eb902bc28e98a720a77","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    # templates:"},{"line_number":8,"context_line":"    check:"},{"line_number":9,"context_line":"      jobs:"},{"line_number":10,"context_line":"        - openstack-tox-functional"},{"line_number":11,"context_line":"        - openstack-tox-functional-py35"},{"line_number":12,"context_line":"        - openstack-tox-functional-py36"},{"line_number":13,"context_line":"        - openstack-tox-py27"},{"line_number":14,"context_line":"        - openstack-tox-py35"},{"line_number":15,"context_line":"        - openstack-tox-py36"},{"line_number":16,"context_line":"        - openstack-tox-pep8"},{"line_number":17,"context_line":"        - build-openstack-api-ref"},{"line_number":18,"context_line":"        - build-openstack-doc"},{"line_number":19,"context_line":"    gate:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3f79a3b5_41666853","line":16,"range":{"start_line":10,"start_character":10,"end_line":16,"end_character":28},"updated":"2018-09-06 14:19:17.000000000","message":"why not use templates, see https://docs.openstack.org/infra/openstack-zuul-jobs/project-templates.html\n\nI recommend:\n openstack-python36-jobs  openstack-python35-jobs\nopenstack-python-jobs","commit_id":"dfc8b54a0feb6db38f9ea0b68bc1363117e18533"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"054e9102d33ef30e1d0e4d88d687c492c0d87548","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    # templates:"},{"line_number":8,"context_line":"    check:"},{"line_number":9,"context_line":"      jobs:"},{"line_number":10,"context_line":"        - openstack-tox-functional"},{"line_number":11,"context_line":"        - openstack-tox-functional-py35"},{"line_number":12,"context_line":"        - openstack-tox-functional-py36"},{"line_number":13,"context_line":"        - openstack-tox-py27"},{"line_number":14,"context_line":"        - openstack-tox-py35"},{"line_number":15,"context_line":"        - openstack-tox-py36"},{"line_number":16,"context_line":"        - openstack-tox-pep8"},{"line_number":17,"context_line":"        - build-openstack-api-ref"},{"line_number":18,"context_line":"        - build-openstack-doc"},{"line_number":19,"context_line":"    gate:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3f79a3b5_c1d6f8c3","line":16,"range":{"start_line":10,"start_character":10,"end_line":16,"end_character":28},"in_reply_to":"3f79a3b5_41666853","updated":"2018-09-06 14:22:06.000000000","message":"Yup, see the TODO on L4-7. I think we\u0027re probably ready for that now/soon.","commit_id":"dfc8b54a0feb6db38f9ea0b68bc1363117e18533"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"ff685fa274bf4a65e5099eb902bc28e98a720a77","unresolved":false,"context_lines":[{"line_number":15,"context_line":"        - openstack-tox-py36"},{"line_number":16,"context_line":"        - openstack-tox-pep8"},{"line_number":17,"context_line":"        - build-openstack-api-ref"},{"line_number":18,"context_line":"        - build-openstack-doc"},{"line_number":19,"context_line":"    gate:"},{"line_number":20,"context_line":"      jobs:"},{"line_number":21,"context_line":"        - openstack-tox-functional"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3f79a3b5_8119e0d1","line":18,"updated":"2018-09-06 14:19:17.000000000","message":"use \"openstack-tox-docs - see https://docs.openstack.org/infra/openstack-zuul-jobs/jobs.html#job-openstack-tox-docs","commit_id":"dfc8b54a0feb6db38f9ea0b68bc1363117e18533"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"054e9102d33ef30e1d0e4d88d687c492c0d87548","unresolved":false,"context_lines":[{"line_number":15,"context_line":"        - openstack-tox-py36"},{"line_number":16,"context_line":"        - openstack-tox-pep8"},{"line_number":17,"context_line":"        - build-openstack-api-ref"},{"line_number":18,"context_line":"        - build-openstack-doc"},{"line_number":19,"context_line":"    gate:"},{"line_number":20,"context_line":"      jobs:"},{"line_number":21,"context_line":"        - openstack-tox-functional"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3f79a3b5_81dc80e1","line":18,"in_reply_to":"3f79a3b5_8119e0d1","updated":"2018-09-06 14:22:06.000000000","message":"Thank you.","commit_id":"dfc8b54a0feb6db38f9ea0b68bc1363117e18533"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"07ad3aa0ded619232e522ae89483236f1f7fedfd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Initial set of jobs that will be extended over time as"},{"line_number":2,"context_line":"# we get things working."},{"line_number":3,"context_line":"- project:"},{"line_number":4,"context_line":"    # TODO(cdent): Start using templates for python jobs once"},{"line_number":5,"context_line":"    # these are all voting and we are satisfied things are working"},{"line_number":6,"context_line":"    # well."},{"line_number":7,"context_line":"    # templates:"},{"line_number":8,"context_line":"    check:"},{"line_number":9,"context_line":"      jobs:"},{"line_number":10,"context_line":"        - openstack-tox-functional"},{"line_number":11,"context_line":"        - openstack-tox-functional-py35"},{"line_number":12,"context_line":"        - openstack-tox-functional-py36"},{"line_number":13,"context_line":"        - openstack-tox-py27"},{"line_number":14,"context_line":"        - openstack-tox-py35"},{"line_number":15,"context_line":"        - openstack-tox-py36"},{"line_number":16,"context_line":"        - openstack-tox-pep8"},{"line_number":17,"context_line":"        - build-openstack-api-ref"},{"line_number":18,"context_line":"        - build-openstack-doc"},{"line_number":19,"context_line":"    gate:"},{"line_number":20,"context_line":"      jobs:"},{"line_number":21,"context_line":"        - openstack-tox-functional"},{"line_number":22,"context_line":"        - openstack-tox-functional-py35"},{"line_number":23,"context_line":"        - openstack-tox-functional-py36"},{"line_number":24,"context_line":"        - openstack-tox-py27"},{"line_number":25,"context_line":"        - openstack-tox-py35"},{"line_number":26,"context_line":"        - openstack-tox-py36"},{"line_number":27,"context_line":"        - openstack-tox-pep8"},{"line_number":28,"context_line":"        - build-openstack-api-ref"},{"line_number":29,"context_line":"        - build-openstack-doc"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3f79a3b5_a183cb55","line":29,"range":{"start_line":3,"start_character":2,"end_line":29,"end_character":0},"updated":"2018-09-05 22:21:18.000000000","message":"Job build-openstack-doc not defined","commit_id":"dfc8b54a0feb6db38f9ea0b68bc1363117e18533"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"be20ca762fe52f5e6a28a3d0883bb43e3e2cc5bf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Initial set of jobs that will be extended over time as"},{"line_number":2,"context_line":"# we get things working."},{"line_number":3,"context_line":"- project:"},{"line_number":4,"context_line":"    # TODO(cdent): Start using templates for python jobs once"},{"line_number":5,"context_line":"    # these are all voting and we are satisfied things are working"},{"line_number":6,"context_line":"    # well."},{"line_number":7,"context_line":"    # templates:"},{"line_number":8,"context_line":"    check:"},{"line_number":9,"context_line":"      jobs:"},{"line_number":10,"context_line":"        - openstack-tox-functional"},{"line_number":11,"context_line":"        - openstack-tox-functional-py35"},{"line_number":12,"context_line":"        - openstack-tox-functional-py36"},{"line_number":13,"context_line":"        - openstack-tox-py27"},{"line_number":14,"context_line":"        - openstack-tox-py35"},{"line_number":15,"context_line":"        - openstack-tox-py36"},{"line_number":16,"context_line":"        - openstack-tox-pep8"},{"line_number":17,"context_line":"        - build-openstack-api-ref"},{"line_number":18,"context_line":"        - build-openstack-doc"},{"line_number":19,"context_line":"    gate:"},{"line_number":20,"context_line":"      jobs:"},{"line_number":21,"context_line":"        - openstack-tox-functional"},{"line_number":22,"context_line":"        - openstack-tox-functional-py35"},{"line_number":23,"context_line":"        - openstack-tox-functional-py36"},{"line_number":24,"context_line":"        - openstack-tox-py27"},{"line_number":25,"context_line":"        - openstack-tox-py35"},{"line_number":26,"context_line":"        - openstack-tox-py36"},{"line_number":27,"context_line":"        - openstack-tox-pep8"},{"line_number":28,"context_line":"        - build-openstack-api-ref"},{"line_number":29,"context_line":"        - build-openstack-doc"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3f79a3b5_a1898b26","line":29,"range":{"start_line":3,"start_character":2,"end_line":29,"end_character":0},"in_reply_to":"3f79a3b5_a183cb55","updated":"2018-09-05 22:36:47.000000000","message":"Fine. I will figure this out tomorrow.","commit_id":"dfc8b54a0feb6db38f9ea0b68bc1363117e18533"}],"doc/source/_extra/.htaccess":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"62dda788458ad06d93fcb7ee2130bb7f804b07fb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"3f79a3b5_aa95be33","updated":"2018-09-07 14:11:56.000000000","message":"Do we want to consider a patch to nova to redirect to this content from the original URLs?\n\nActually, let me rephrase that: We _should_ add a patch to nova.\n\nThe question is when.","commit_id":"9b584fcd1dd2b8fcf1f0dca11a2ec5da63f794f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2da9482465fcfcebec63dfce84c15c78afdedc22","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"3f79a3b5_653cb0be","in_reply_to":"3f79a3b5_5f1dc30c","updated":"2018-09-07 20:23:59.000000000","message":"Ew, yeah, .... is it in the etherpad-o-todos at least?\n\n(later)\n\nIt is now.","commit_id":"9b584fcd1dd2b8fcf1f0dca11a2ec5da63f794f6"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"6f7c3180823974ce08e5f0a674a3f9158941645c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"3f79a3b5_5f1dc30c","in_reply_to":"3f79a3b5_aa95be33","updated":"2018-09-07 18:57:38.000000000","message":"Agree on the need for redirect","commit_id":"9b584fcd1dd2b8fcf1f0dca11a2ec5da63f794f6"}],"doc/source/conf.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2da9482465fcfcebec63dfce84c15c78afdedc22","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    (\u0027nova-console\u0027, u\u0027Cloud controller fabric\u0027),"},{"line_number":126,"context_line":"    (\u0027nova-consoleauth\u0027, u\u0027Cloud controller fabric\u0027),"},{"line_number":127,"context_line":"    (\u0027nova-dhcpbridge\u0027, u\u0027Cloud controller fabric\u0027),"},{"line_number":128,"context_line":"    (\u0027nova-manage\u0027, u\u0027Cloud controller fabric\u0027),"},{"line_number":129,"context_line":"    (\u0027nova-network\u0027, u\u0027Cloud controller fabric\u0027),"},{"line_number":130,"context_line":"    (\u0027nova-novncproxy\u0027, u\u0027Cloud controller fabric\u0027),"},{"line_number":131,"context_line":"    (\u0027nova-spicehtml5proxy\u0027, u\u0027Cloud controller fabric\u0027),"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_255b1822","side":"PARENT","line":128,"range":{"start_line":128,"start_character":4,"end_line":128,"end_character":48},"updated":"2018-09-07 20:23:59.000000000","message":"Hmm, eventually you\u0027re gonna want man page CLI docs like this for placement-manage and placement-status.","commit_id":"8c2bb441813564637cfae2edd9752cd840330f1c"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"62dda788458ad06d93fcb7ee2130bb7f804b07fb","unresolved":false,"context_lines":[{"line_number":58,"context_line":"bug_tag \u003d \u0027docs\u0027"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"policy_generator_config_file \u003d ["},{"line_number":61,"context_line":"    (\u0027../../etc/placement/placement-policy-generator.conf\u0027,"},{"line_number":62,"context_line":"     \u0027_static/placement\u0027)"},{"line_number":63,"context_line":"]"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_0abcf2b8","line":61,"updated":"2018-09-07 14:11:56.000000000","message":"this policy file gets renamed in a pending patch, but we can cross that bridge when","commit_id":"9b584fcd1dd2b8fcf1f0dca11a2ec5da63f794f6"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"6f7c3180823974ce08e5f0a674a3f9158941645c","unresolved":false,"context_lines":[{"line_number":58,"context_line":"bug_tag \u003d \u0027docs\u0027"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"policy_generator_config_file \u003d ["},{"line_number":61,"context_line":"    (\u0027../../etc/placement/placement-policy-generator.conf\u0027,"},{"line_number":62,"context_line":"     \u0027_static/placement\u0027)"},{"line_number":63,"context_line":"]"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_9fdcbb45","line":61,"in_reply_to":"3f79a3b5_0abcf2b8","updated":"2018-09-07 18:57:38.000000000","message":"I\u0027ll stack that patch on top of this change, and modify the name there too.","commit_id":"9b584fcd1dd2b8fcf1f0dca11a2ec5da63f794f6"}],"doc/source/configuration/index.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2da9482465fcfcebec63dfce84c15c78afdedc22","unresolved":false,"context_lines":[{"line_number":5,"context_line":"The static configuration for nova lives in two main files: ``nova.conf`` and"},{"line_number":6,"context_line":"``policy.json``. These are described below. For a bigger picture view on"},{"line_number":7,"context_line":"configuring nova to solve specific problems, refer to the :nova-doc:`Nova Admin"},{"line_number":8,"context_line":"Guide \u003c/admin/index\u003e`."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Configuration"},{"line_number":11,"context_line":"-------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f79a3b5_45ddf46d","line":8,"range":{"start_line":8,"start_character":7,"end_line":8,"end_character":19},"updated":"2018-09-07 20:23:59.000000000","message":"This link is broken.","commit_id":"9b584fcd1dd2b8fcf1f0dca11a2ec5da63f794f6"}],"doc/source/configuration/placement-policy.rst":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"62dda788458ad06d93fcb7ee2130bb7f804b07fb","unresolved":false,"context_lines":[{"line_number":7,"context_line":":doc:`/configuration/sample-placement-policy`."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":".. show-policy::"},{"line_number":10,"context_line":"   :config-file: etc/placement/placement-policy-generator.conf"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f79a3b5_0ae152d0","line":10,"updated":"2018-09-07 14:11:56.000000000","message":"same","commit_id":"9b584fcd1dd2b8fcf1f0dca11a2ec5da63f794f6"}],"doc/source/index.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2da9482465fcfcebec63dfce84c15c78afdedc22","unresolved":false,"context_lines":[{"line_number":340,"context_line":"Configuration"},{"line_number":341,"context_line":"~~~~~~~~~~~~~"},{"line_number":342,"context_line":""},{"line_number":343,"context_line":"See the `Configuration Guide \u003cconfiguration/index\u003e` for information on"},{"line_number":344,"context_line":"configuring the system, including role-based access control policy rules."},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"Contributors"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f79a3b5_058e1c78","line":343,"updated":"2018-09-07 20:23:59.000000000","message":"The link here doesn\u0027t go to anything.","commit_id":"9b584fcd1dd2b8fcf1f0dca11a2ec5da63f794f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2da9482465fcfcebec63dfce84c15c78afdedc22","unresolved":false,"context_lines":[{"line_number":346,"context_line":"Contributors"},{"line_number":347,"context_line":"~~~~~~~~~~~~"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"See the `Contributor Guide \u003ccontributor/index\u003e` for information on how to"},{"line_number":350,"context_line":"contribute to the placement project."},{"line_number":351,"context_line":""},{"line_number":352,"context_line":".. # NOTE(mriedem): This is the section where we hide things that we don\u0027t"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f79a3b5_2589d86d","line":349,"updated":"2018-09-07 20:23:59.000000000","message":"same","commit_id":"9b584fcd1dd2b8fcf1f0dca11a2ec5da63f794f6"}],"tox.ini":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2da9482465fcfcebec63dfce84c15c78afdedc22","unresolved":false,"context_lines":[{"line_number":150,"context_line":"  rm -rf doc/build"},{"line_number":151,"context_line":"  sphinx-build -W -b html doc/source doc/build/html"},{"line_number":152,"context_line":"  # Test the redirects. This must run after the main docs build"},{"line_number":153,"context_line":"  whereto doc/build/html/.htaccess doc/test/redirect-tests.txt"},{"line_number":154,"context_line":"  {[testenv:api-ref]commands}"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"[testenv:api-ref]"}],"source_content_type":"text/x-properties","patch_set":5,"id":"3f79a3b5_05b5bc31","side":"PARENT","line":153,"updated":"2018-09-07 20:23:59.000000000","message":"Should have probably left this stuff in here with a blank redirects file for when you actually need to use it.","commit_id":"8c2bb441813564637cfae2edd9752cd840330f1c"}]}
