)]}'
{"CONTRIBUTING.md":[{"author":{"_account_id":18838,"name":"Paul Dardeau","email":"paul.dardeau@intel.com","username":"pdardeau"},"change_message_id":"d9172f9c4e27b50ad59575d0537a6ae0f10829f9","unresolved":false,"context_lines":[{"line_number":34,"context_line":"it as soon as possible."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"A bug report, at minimum, should describe what you were doing that caused the"},{"line_number":37,"context_line":"bug. \"Swift broke, pls fix\" is not helfup. Instead, something like \"When I"},{"line_number":38,"context_line":"restarted syslog, Swift started logging traceback messages\" is very helpful."},{"line_number":39,"context_line":"The goal is that we can reproduce the bug and isolate the issue in order to"},{"line_number":40,"context_line":"apply a fix. If you don\u0027t have full details, that\u0027s ok. Anything you can"}],"source_content_type":"text/x-gfm","patch_set":5,"id":"9a061dce_407ad624","line":37,"updated":"2016-04-07 23:08:16.000000000","message":"typo with \u0027helpful\u0027","commit_id":"c579af7f7fa4009885f1472704be15c4c8b1da34"},{"author":{"_account_id":18838,"name":"Paul Dardeau","email":"paul.dardeau@intel.com","username":"pdardeau"},"change_message_id":"d9172f9c4e27b50ad59575d0537a6ae0f10829f9","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":"## Notes on Testing"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Running the tests above against Swift in your development environment (ie"},{"line_number":124,"context_line":"your SAIO) will catch most issues. Any patch you propose is expected to be"},{"line_number":125,"context_line":"both tested and documented and all tests should pass."},{"line_number":126,"context_line":""}],"source_content_type":"text/x-gfm","patch_set":5,"id":"9a061dce_a0f13297","line":123,"updated":"2016-04-07 23:08:16.000000000","message":"ie -\u003e i.e.,","commit_id":"c579af7f7fa4009885f1472704be15c4c8b1da34"}],"CONTRIBUTING.rst":[{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"cd1c3a55496804a2f4e6a0d55499b1b29ce244e6","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Swift is nothing without the community behind it. We\u0027d love to welcome you to"},{"line_number":21,"context_line":"our community. Come find us in #openstack-swift on freenode IRC or on the"},{"line_number":22,"context_line":"Openstack dev mailing list."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Filing a Bug"},{"line_number":25,"context_line":"~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_2b3cd52e","line":22,"range":{"start_line":22,"start_character":4,"end_line":22,"end_character":5},"updated":"2016-05-05 23:57:16.000000000","message":"micro-nit: capital S","commit_id":"27eee255d001cea13e838e7f886bb3b4f3516fd5"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a73fffa4b643c51afe7d259f407f5b37c7e39bd6","unresolved":false,"context_lines":[{"line_number":56,"context_line":"ways you can contribute to the community."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"We\u0027ve written REVIEW_GUIDELINES.rst (found in this source tree) to help you"},{"line_number":59,"context_line":"give good reviews."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"What do I work on?"},{"line_number":62,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_6b037d10","line":59,"updated":"2016-05-06 00:21:41.000000000","message":"priority reviews wiki or communit starred patches page or whatever too maybe","commit_id":"27eee255d001cea13e838e7f886bb3b4f3516fd5"},{"author":{"_account_id":18838,"name":"Paul Dardeau","email":"paul.dardeau@intel.com","username":"pdardeau"},"change_message_id":"c8cfbc86a4803b6bcd8d3d45fdb0d9dfd810f806","unresolved":false,"context_lines":[{"line_number":62,"context_line":"------------------"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"If you\u0027re looking for a way to write and contribute code, but you\u0027re not sure"},{"line_number":65,"context_line":"what to work on, check out the \"wishlist\" bugs in the bug tracer. These are"},{"line_number":66,"context_line":"normally smaller items that someone took the time to write down but didn\u0027t"},{"line_number":67,"context_line":"have time to implement."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_b3515b11","line":65,"updated":"2016-05-06 02:53:18.000000000","message":"tracer -\u003e tracker","commit_id":"27eee255d001cea13e838e7f886bb3b4f3516fd5"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a73fffa4b643c51afe7d259f407f5b37c7e39bd6","unresolved":false,"context_lines":[{"line_number":67,"context_line":"have time to implement."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"And please join #openstack-swift on freenode IRC to tell us what you\u0027re"},{"line_number":70,"context_line":"working on."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"Getting Started"},{"line_number":73,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_4b0cb942","line":70,"updated":"2016-05-06 00:21:41.000000000","message":"love it","commit_id":"27eee255d001cea13e838e7f886bb3b4f3516fd5"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a73fffa4b643c51afe7d259f407f5b37c7e39bd6","unresolved":false,"context_lines":[{"line_number":175,"context_line":"for you. Your document should include why your idea is needed and your"},{"line_number":176,"context_line":"thoughts on particular design choices and tradeoffs. Please include"},{"line_number":177,"context_line":"some contact information (ideally, your IRC nick) so that people can"},{"line_number":178,"context_line":"collaborate with you."}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_ab1c4578","line":178,"updated":"2016-05-06 00:21:41.000000000","message":"this part especially should land or we risk some confusion.","commit_id":"27eee255d001cea13e838e7f886bb3b4f3516fd5"}],"README.md":[{"author":{"_account_id":18838,"name":"Paul Dardeau","email":"paul.dardeau@intel.com","username":"pdardeau"},"change_message_id":"d9172f9c4e27b50ad59575d0537a6ae0f10829f9","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"## Docs"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Swift\u0027s in-tree documentation (ie the docs written and maintained by Swift\u0027s"},{"line_number":20,"context_line":"developers) covers basic API, architectural design, and deployment guidelines."},{"line_number":21,"context_line":"These docs are auto-generated after every commit and available online at"},{"line_number":22,"context_line":"http://docs.openstack.org/developer/swift/."}],"source_content_type":"text/x-gfm","patch_set":5,"id":"9a061dce_e014caa0","line":19,"updated":"2016-04-07 23:08:16.000000000","message":"ie -\u003e i.e.,","commit_id":"c579af7f7fa4009885f1472704be15c4c8b1da34"},{"author":{"_account_id":18838,"name":"Paul Dardeau","email":"paul.dardeau@intel.com","username":"pdardeau"},"change_message_id":"d9172f9c4e27b50ad59575d0537a6ae0f10829f9","unresolved":false,"context_lines":[{"line_number":37,"context_line":"[\"SAIO - Swift All In One\"](http://docs.openstack.org/developer/swift/development_saio.html)."},{"line_number":38,"context_line":"This document will walk you through setting up a development cluster of Swift"},{"line_number":39,"context_line":"in a VM. The SAIO environment is ideal for running small-scale tests against"},{"line_number":40,"context_line":"swift and trying out new features and bug fixes."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"### Tests"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-gfm","patch_set":5,"id":"9a061dce_80486eb4","line":40,"updated":"2016-04-07 23:08:16.000000000","message":"swift -\u003e Swift","commit_id":"c579af7f7fa4009885f1472704be15c4c8b1da34"},{"author":{"_account_id":18838,"name":"Paul Dardeau","email":"paul.dardeau@intel.com","username":"pdardeau"},"change_message_id":"d9172f9c4e27b50ad59575d0537a6ae0f10829f9","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Functional tests check that the client API is working as expected. These can"},{"line_number":56,"context_line":"be run against any endpoint claiming to support the Swift API (although some"},{"line_number":57,"context_line":"tests require multiple accounts with different privilage levels). These are"},{"line_number":58,"context_line":"\"black box\" tests that ensure that client apps written against Swift will"},{"line_number":59,"context_line":"continue to work."},{"line_number":60,"context_line":""}],"source_content_type":"text/x-gfm","patch_set":5,"id":"9a061dce_06eab673","line":57,"updated":"2016-04-07 23:08:16.000000000","message":"privilage -\u003e privilege","commit_id":"c579af7f7fa4009885f1472704be15c4c8b1da34"}],"README.rst":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a73fffa4b643c51afe7d259f407f5b37c7e39bd6","unresolved":false,"context_lines":[{"line_number":36,"context_line":"`notes \u003cCONTRIBUTING.md\u003e`__ to help you get started."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"The best place to get started is the"},{"line_number":39,"context_line":"`\"SAIO - Swift All In One\" \u003chttp://docs.openstack.org/developer/swift/development_saio.html\u003e`__."},{"line_number":40,"context_line":"This document will walk you through setting up a development cluster of"},{"line_number":41,"context_line":"Swift in a VM. The SAIO environment is ideal for running small-scale"},{"line_number":42,"context_line":"tests against swift and trying out new features and bug fixes."}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_86b97831","line":39,"updated":"2016-05-06 00:21:41.000000000","message":"this is somewhat aspirational - I think we have plenty of indicators that doc as currently written doesn\u0027t work for newbie contributors - but it was already in here...","commit_id":"27eee255d001cea13e838e7f886bb3b4f3516fd5"},{"author":{"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},"change_message_id":"14b8d7ce1a13d0a1f0f5324e19825ea4398821bf","unresolved":false,"context_lines":[{"line_number":66,"context_line":"`\"SAIO - Swift All In One\" \u003chttp://docs.openstack.org/developer/swift/development_saio.html\u003e`__"},{"line_number":67,"context_line":"dev environment. For example, a probe test may create an object, delete one"},{"line_number":68,"context_line":"replica, and ensure that the background consistency processes find and correct"},{"line_number":69,"context_line":"the error."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"You can run unit tests with ``.unittests``, functional tests with"},{"line_number":72,"context_line":"``.functests``, and probe tests with ``.probetests``. There is an"}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_1320279b","line":69,"updated":"2016-05-06 02:43:58.000000000","message":"I find it helpful to know that probetests will start and stop processes automatically when necessary for testing.  Also, probetests sometimes run with different configurations than your SAIO, right?  For example, with encryption in the pipeline, it may be overridden for some tests.  But I also realize we don\u0027t want to get too detailed here.  Just a thought that these may be worth noting.","commit_id":"27eee255d001cea13e838e7f886bb3b4f3516fd5"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a73fffa4b643c51afe7d259f407f5b37c7e39bd6","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"You can run unit tests with ``.unittests``, functional tests with"},{"line_number":72,"context_line":"``.functests``, and probe tests with ``.probetests``. There is an"},{"line_number":73,"context_line":"additional ``.alltests`` script that wraps the other three."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Code Organization"},{"line_number":76,"context_line":"~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_a6511c11","line":73,"updated":"2016-05-06 00:21:41.000000000","message":"much improved","commit_id":"27eee255d001cea13e838e7f886bb3b4f3516fd5"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a73fffa4b643c51afe7d259f407f5b37c7e39bd6","unresolved":false,"context_lines":[{"line_number":78,"context_line":"-  bin/: Executable scripts that are the processes run by the deployer"},{"line_number":79,"context_line":"-  doc/: Documentation"},{"line_number":80,"context_line":"-  etc/: Sample config files"},{"line_number":81,"context_line":"-  examples/: Config snippets used in the docs"},{"line_number":82,"context_line":"-  swift/: Core code"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"   -  account/: account server"}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_06574803","line":81,"updated":"2016-05-06 00:21:41.000000000","message":"who knew!?","commit_id":"27eee255d001cea13e838e7f886bb3b4f3516fd5"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a73fffa4b643c51afe7d259f407f5b37c7e39bd6","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"There is an `ops runbook \u003chttp://docs.openstack.org/developer/swift/ops_runbook/\u003e`__"},{"line_number":117,"context_line":"that gives information about how to diagnose and troubleshoot common issues"},{"line_number":118,"context_line":"when running a Swift cluster."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"You can run functional tests against a swift cluster with"},{"line_number":121,"context_line":"``.functests``. These functional tests require ``/etc/swift/test.conf``"}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_e65b242d","line":118,"updated":"2016-05-06 00:21:41.000000000","message":"good addition!","commit_id":"27eee255d001cea13e838e7f886bb3b4f3516fd5"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a73fffa4b643c51afe7d259f407f5b37c7e39bd6","unresolved":false,"context_lines":[{"line_number":134,"context_line":"There is a large ecosystem of applications and libraries that support and"},{"line_number":135,"context_line":"work with OpenStack Swift. Several are listed on the"},{"line_number":136,"context_line":"`associated projects \u003chttp://docs.openstack.org/developer/swift/associated_projects.html\u003e`__"},{"line_number":137,"context_line":"page."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"--------------"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_46415039","line":137,"updated":"2016-05-06 00:21:41.000000000","message":"good!","commit_id":"27eee255d001cea13e838e7f886bb3b4f3516fd5"}],"doc/source/index.rst":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"312309bb6501c05118d675306d2e09aa2be6948f","unresolved":false,"context_lines":[{"line_number":66,"context_line":".. toctree::"},{"line_number":67,"context_line":"    :maxdepth: 1"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    new_contributor"},{"line_number":70,"context_line":"    development_guidelines"},{"line_number":71,"context_line":"    development_saio"},{"line_number":72,"context_line":"    first_contribution_swift"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a061dce_dcc3d955","line":69,"updated":"2016-04-06 11:41:36.000000000","message":"I think the material for new devs is getting too fragmented - we have this new doc plus \u0027first_contribution_swift\u0027 plus CONTRIBUTING.md and stuff in README.md, then there is development_guidelines.rst.\n\nIDK, maybe a new section \"New Contributors\" to group some of these docs and make it more obvious that there is more than one.","commit_id":"74afb748c129006ba7376a66377b3d79d374c9c6"}],"doc/source/new_contributor.rst":[{"author":{"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},"change_message_id":"5d1b1aeaf609f91874315575cf368cb5db50c377","unresolved":false,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":"You\u0027ve got the right file open, so go fix the errors."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"*typey, typey*"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"Ok! Now you\u0027ve fixed the errors! Time to test it and submit it upstream for"},{"line_number":139,"context_line":"review. It\u0027s always important to test your changes locally before you push"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a061dce_35220c53","line":136,"updated":"2016-04-05 19:34:04.000000000","message":"my favorite part. :-)","commit_id":"7b260bc75a94aacf27de0566d9aca3fd1f794e39"},{"author":{"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},"change_message_id":"5d1b1aeaf609f91874315575cf368cb5db50c377","unresolved":false,"context_lines":[{"line_number":172,"context_line":""},{"line_number":173,"context_line":"::"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    git review"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"If this is your first time submitting code to an OpenStack project, you\u0027ll"},{"line_number":178,"context_line":"be prompted to sign the CLA. After that, run ``git review`` again."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a061dce_35796cc9","line":175,"updated":"2016-04-05 19:34:04.000000000","message":"maybe mention the need to upload ssh public key to git/gerrit?","commit_id":"7b260bc75a94aacf27de0566d9aca3fd1f794e39"},{"author":{"_account_id":18838,"name":"Paul Dardeau","email":"paul.dardeau@intel.com","username":"pdardeau"},"change_message_id":"a25f934b37eeafb585007aae386934230c5b38f5","unresolved":false,"context_lines":[{"line_number":2,"context_line":"New Contributor Walkthrough"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"This is a story about a new contributor fixing a bug in Swift. It\u0027s used as an example, and the bug that\u0027s described has already been fixed."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Overall, I think you should block about 2 hours for this, since it\u0027s the first time you\u0027re setting this up."},{"line_number":8,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_aeb406d1","line":5,"updated":"2016-04-05 22:58:48.000000000","message":"new line (wrap at 79 or 80 chars)?","commit_id":"bf90ca9353e755d91c6fecd0e13c4f1bad50b4dd"},{"author":{"_account_id":18838,"name":"Paul Dardeau","email":"paul.dardeau@intel.com","username":"pdardeau"},"change_message_id":"a25f934b37eeafb585007aae386934230c5b38f5","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"This is a story about a new contributor fixing a bug in Swift. It\u0027s used as an example, and the bug that\u0027s described has already been fixed."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Overall, I think you should block about 2 hours for this, since it\u0027s the first time you\u0027re setting this up."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"----"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_0ecc1269","line":7,"updated":"2016-04-05 22:58:48.000000000","message":"new line (wrap at 79 or 80 chars)?","commit_id":"bf90ca9353e755d91c6fecd0e13c4f1bad50b4dd"},{"author":{"_account_id":18838,"name":"Paul Dardeau","email":"paul.dardeau@intel.com","username":"pdardeau"},"change_message_id":"a25f934b37eeafb585007aae386934230c5b38f5","unresolved":false,"context_lines":[{"line_number":15,"context_line":"She wants to learn about Swift\u0027s CORS support. She\u0027s a website developer, and"},{"line_number":16,"context_line":"you know this is an important way to enable your web apps to work across"},{"line_number":17,"context_line":"different domain names. In fact, if Swift supports CORS, then she can offload"},{"line_number":18,"context_line":"a whole bunch of hard work to Swift (where she wants to store data anyway) and focus more on writing an awesome web app."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"A quick google search later, and she goes to"},{"line_number":21,"context_line":"http://docs.openstack.org/developer/swift/cors.html to read about Swift\u0027s"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_eec6fe47","line":18,"updated":"2016-04-05 22:58:48.000000000","message":"new line (wrap at 79 or 80 chars)?","commit_id":"bf90ca9353e755d91c6fecd0e13c4f1bad50b4dd"},{"author":{"_account_id":18838,"name":"Paul Dardeau","email":"paul.dardeau@intel.com","username":"pdardeau"},"change_message_id":"a25f934b37eeafb585007aae386934230c5b38f5","unresolved":false,"context_lines":[{"line_number":25,"context_line":"her competitors who did use Swift succeed wildly in the market and sell out"},{"line_number":26,"context_line":"for 3 billion dollars. Since they use Swift for data storage, they don\u0027t have"},{"line_number":27,"context_line":"to worry about hard problems of storage and can focus on making awesome apps."},{"line_number":28,"context_line":"Our hero was forced to solve many hard sotrage problems instead of adding"},{"line_number":29,"context_line":"features and polish to her app.)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"*fade to black*"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_cee85ab7","line":28,"updated":"2016-04-05 22:58:48.000000000","message":"\u0027storage\u0027 typo","commit_id":"bf90ca9353e755d91c6fecd0e13c4f1bad50b4dd"},{"author":{"_account_id":18838,"name":"Paul Dardeau","email":"paul.dardeau@intel.com","username":"pdardeau"},"change_message_id":"a25f934b37eeafb585007aae386934230c5b38f5","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    vagrant up --provision"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"This step will take a while (5-10 minutes). When it\u0027s done, you won\u0027t see anything different, but you\u0027ll have a VM running that has Swift on it."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Once that finishes, you\u0027ll be ready to get started. First, let\u0027s set up the docs building so you can see what you\u0027re working on."},{"line_number":80,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_eecd5e5e","line":77,"updated":"2016-04-05 22:58:48.000000000","message":"new line (wrap at 79 or 80 chars)?","commit_id":"bf90ca9353e755d91c6fecd0e13c4f1bad50b4dd"},{"author":{"_account_id":18838,"name":"Paul Dardeau","email":"paul.dardeau@intel.com","username":"pdardeau"},"change_message_id":"a25f934b37eeafb585007aae386934230c5b38f5","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"This step will take a while (5-10 minutes). When it\u0027s done, you won\u0027t see anything different, but you\u0027ll have a VM running that has Swift on it."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Once that finishes, you\u0027ll be ready to get started. First, let\u0027s set up the docs building so you can see what you\u0027re working on."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Type in::"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_8e05c27b","line":79,"updated":"2016-04-05 22:58:48.000000000","message":"new line (wrap at 79 or 80 chars)?","commit_id":"bf90ca9353e755d91c6fecd0e13c4f1bad50b4dd"},{"author":{"_account_id":18838,"name":"Paul Dardeau","email":"paul.dardeau@intel.com","username":"pdardeau"},"change_message_id":"a25f934b37eeafb585007aae386934230c5b38f5","unresolved":false,"context_lines":[{"line_number":88,"context_line":"probably looks something like http://saio:8080/v1/AUTH_test/doc/index.html."},{"line_number":89,"context_line":"Change the \"saio\" in that URL to 192.168.8.80 and then open that in a browser"},{"line_number":90,"context_line":"(http://192.168.8.80:8080/v1/AUTH_test/doc/index.html). This is the current"},{"line_number":91,"context_line":"state of the docs, and it will automatically be rebuild when you make a"},{"line_number":92,"context_line":"change to a file and save it."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Ok, now that you\u0027ve got that set up and running, we can leave it running in"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_ae02466d","line":91,"updated":"2016-04-05 22:58:48.000000000","message":"\u0027rebuilt\u0027 instead of \u0027rebuild\u0027?","commit_id":"bf90ca9353e755d91c6fecd0e13c4f1bad50b4dd"},{"author":{"_account_id":18838,"name":"Paul Dardeau","email":"paul.dardeau@intel.com","username":"pdardeau"},"change_message_id":"a25f934b37eeafb585007aae386934230c5b38f5","unresolved":false,"context_lines":[{"line_number":182,"context_line":"http://chris.beams.io/posts/git-commit/. Write a commit message to describe"},{"line_number":183,"context_line":"the change you made. Save your changes, and exit the text editor."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"Now, you\u0027re ready to push your changes to gerrit (the code review tool)."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"::"},{"line_number":188,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_4e79eaf5","line":185,"updated":"2016-04-05 22:58:48.000000000","message":"\u0027push\u0027 might be confusing terminology here (especially if reader is thinking github). maybe \u0027upload\u0027 instead?","commit_id":"bf90ca9353e755d91c6fecd0e13c4f1bad50b4dd"},{"author":{"_account_id":18838,"name":"Paul Dardeau","email":"paul.dardeau@intel.com","username":"pdardeau"},"change_message_id":"a25f934b37eeafb585007aae386934230c5b38f5","unresolved":false,"context_lines":[{"line_number":198,"context_line":""},{"line_number":199,"context_line":"*voice over as credits roll*"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Our culture like to praise the web app developers who cash out with billions"},{"line_number":202,"context_line":"as the hero. But that\u0027s not possible without building on awesome"},{"line_number":203,"context_line":"infrastructure and open-source projects."},{"line_number":204,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_4ee72ab0","line":201,"updated":"2016-04-05 22:58:48.000000000","message":"likes?","commit_id":"bf90ca9353e755d91c6fecd0e13c4f1bad50b4dd"},{"author":{"_account_id":18838,"name":"Paul Dardeau","email":"paul.dardeau@intel.com","username":"pdardeau"},"change_message_id":"a25f934b37eeafb585007aae386934230c5b38f5","unresolved":false,"context_lines":[{"line_number":212,"context_line":"Epilogue"},{"line_number":213,"context_line":"--------"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"The last thing to thing about is how to turn this all off to go back to your"},{"line_number":216,"context_line":"normal day job. You probably have a text editor open, the web browser, and the"},{"line_number":217,"context_line":"terminal app with a couple of tabs."},{"line_number":218,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_8ebdc26a","line":215,"updated":"2016-04-05 22:58:48.000000000","message":"thing -\u003e think (second occurrence)","commit_id":"bf90ca9353e755d91c6fecd0e13c4f1bad50b4dd"},{"author":{"_account_id":12193,"name":"Hisashi Osanai","email":"osanai.hisashi@jp.fujitsu.com","username":"ho"},"change_message_id":"9fa95251843a19a4f1b68a50413946df8f34d60c","unresolved":false,"context_lines":[{"line_number":2,"context_line":"New Contributor Walkthrough"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"This is a story about a new contributor fixing a bug in Swift. It\u0027s used as an example, and the bug that\u0027s described has already been fixed."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Overall, I think you should block about 2 hours for this, since it\u0027s the"},{"line_number":8,"context_line":"first time you\u0027re setting this up."}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a061dce_10554c1c","line":5,"range":{"start_line":5,"start_character":0,"end_line":5,"end_character":140},"updated":"2016-04-06 01:33:26.000000000","message":"do we need to separate to two lines?","commit_id":"74afb748c129006ba7376a66377b3d79d374c9c6"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"312309bb6501c05118d675306d2e09aa2be6948f","unresolved":false,"context_lines":[{"line_number":58,"context_line":"I\u0027m not sure how familiar you are with command line stuff, so I\u0027ve made this"},{"line_number":59,"context_line":"very detailed. If you already know all this, please forgive me."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Open up your Terminal.app. (cmd+space, type in terminal and hit return)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Type in::"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a061dce_81557efb","line":61,"updated":"2016-04-06 11:41:36.000000000","message":"I wonder if this needs all the mac specific stuff - like, telling them how to open a terminal window? later you assume they know how to copy and paste from terminal","commit_id":"74afb748c129006ba7376a66377b3d79d374c9c6"},{"author":{"_account_id":12193,"name":"Hisashi Osanai","email":"osanai.hisashi@jp.fujitsu.com","username":"ho"},"change_message_id":"9fa95251843a19a4f1b68a50413946df8f34d60c","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    vagrant up --provision"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"This step will take a while (5-10 minutes). When it\u0027s done, you won\u0027t see"},{"line_number":81,"context_line":"anything different, but you\u0027ll have a VM running that has Swift on it."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Once that finishes, you\u0027ll be ready to get started. First, let\u0027s set up the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a061dce_3050505d","line":80,"range":{"start_line":80,"start_character":28,"end_line":80,"end_character":41},"updated":"2016-04-06 01:33:26.000000000","message":"for initial setup, I know it depends on environment such as network to download boxes but it takes more than 30 min in my env so 30-60 minutes is reasonable, I think.","commit_id":"74afb748c129006ba7376a66377b3d79d374c9c6"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"312309bb6501c05118d675306d2e09aa2be6948f","unresolved":false,"context_lines":[{"line_number":92,"context_line":"When the autodoc command finishes running, it will give you a URL. It"},{"line_number":93,"context_line":"probably looks something like http://saio:8080/v1/AUTH_test/doc/index.html."},{"line_number":94,"context_line":"Change the \"saio\" in that URL to 192.168.8.80 and then open that in a browser"},{"line_number":95,"context_line":"(http://192.168.8.80:8080/v1/AUTH_test/doc/index.html). This is the current"},{"line_number":96,"context_line":"state of the docs, and it will automatically be rebuilt when you make a"},{"line_number":97,"context_line":"change to a file and save it."},{"line_number":98,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a061dce_81561ecc","line":95,"updated":"2016-04-06 11:41:36.000000000","message":"does vagrant/vbox pin the ip subnet? - my experience with vmware mainly has been that each installation may choose a different subnet for its nat or host only networks.","commit_id":"74afb748c129006ba7376a66377b3d79d374c9c6"},{"author":{"_account_id":12193,"name":"Hisashi Osanai","email":"osanai.hisashi@jp.fujitsu.com","username":"ho"},"change_message_id":"9fa95251843a19a4f1b68a50413946df8f34d60c","unresolved":false,"context_lines":[{"line_number":128,"context_line":"built-in TextEdit app:"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"http://www.sublimetext.com"},{"line_number":131,"context_line":"    What I use. very powerful, pretty easy to use, will nag you until you"},{"line_number":132,"context_line":"    pay money, but you can use it for free."},{"line_number":133,"context_line":"http://www.barebones.com/products/textwrangler/"},{"line_number":134,"context_line":"    Pretty simple, I used it years ago, it\u0027s free."}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a061dce_107eecad","line":131,"range":{"start_line":131,"start_character":14,"end_line":131,"end_character":15},"updated":"2016-04-06 01:33:26.000000000","message":"s/./,/ maybe?","commit_id":"74afb748c129006ba7376a66377b3d79d374c9c6"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"312309bb6501c05118d675306d2e09aa2be6948f","unresolved":false,"context_lines":[{"line_number":134,"context_line":"    Pretty simple, I used it years ago, it\u0027s free."},{"line_number":135,"context_line":"https://www.peterborgapps.com/smultron/"},{"line_number":136,"context_line":"    What someone else in the office recommended. I\u0027ve not used it, but it"},{"line_number":137,"context_line":"    looks ok."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"You\u0027ve got the right file open, so go fix the errors."},{"line_number":140,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a061dce_e1b43a36","line":137,"updated":"2016-04-06 11:41:36.000000000","message":"emacs surely? :P","commit_id":"74afb748c129006ba7376a66377b3d79d374c9c6"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"312309bb6501c05118d675306d2e09aa2be6948f","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":"You\u0027ve got the right file open, so go fix the errors."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"*typey, typey*"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Ok! Now you\u0027ve fixed the errors! Time to test it and submit it upstream for"},{"line_number":144,"context_line":"review. It\u0027s always important to test your changes locally before you push"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a061dce_016b2e86","line":141,"updated":"2016-04-06 11:41:36.000000000","message":"lol","commit_id":"74afb748c129006ba7376a66377b3d79d374c9c6"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"312309bb6501c05118d675306d2e09aa2be6948f","unresolved":false,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"To test a docs change, you\u0027ll need to rebuild the docs and see if they look"},{"line_number":149,"context_line":"right. Remember the \"autodoc\" stuff above? It takes care of all of this."},{"line_number":150,"context_line":"Switch back to your browser, hit reload, and look for your changes."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"They look good, so let\u0027s submit it upstream."},{"line_number":153,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a061dce_610f8a88","line":150,"updated":"2016-04-06 11:41:36.000000000","message":"I\u0027m not familiar with autodoc. What\u0027s wrong with build_sphinx? Then recommend looking at output for any errors.","commit_id":"74afb748c129006ba7376a66377b3d79d374c9c6"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"312309bb6501c05118d675306d2e09aa2be6948f","unresolved":false,"context_lines":[{"line_number":167,"context_line":"A text editor will open, and you\u0027ll be prompted to write a commit message."},{"line_number":168,"context_line":"There\u0027s a good guideline on writing commit messages at"},{"line_number":169,"context_line":"http://chris.beams.io/posts/git-commit/. Write a commit message to describe"},{"line_number":170,"context_line":"the change you made. Save your changes, and exit the text editor."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"Now, you\u0027re ready to upload your changes to gerrit (the code review tool)."},{"line_number":173,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a061dce_41bec665","line":170,"updated":"2016-04-06 11:41:36.000000000","message":"Should point to this too\n\nhttp://docs.openstack.org/infra/manual/developers.html#committing-a-change\n\nfor openstack commit message guildeines","commit_id":"74afb748c129006ba7376a66377b3d79d374c9c6"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"312309bb6501c05118d675306d2e09aa2be6948f","unresolved":false,"context_lines":[{"line_number":176,"context_line":"    git review"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"If this is your first time submitting code to an OpenStack project, you\u0027ll"},{"line_number":179,"context_line":"be prompted to sign the CLA. After that, run ``git review`` again."},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Now you\u0027re done (for now). Reviewers will look at it and leave comments if"},{"line_number":182,"context_line":"anything is amiss. If it looks good, it will be approved, and our fearless"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a061dce_9c95e188","line":179,"updated":"2016-04-06 11:41:36.000000000","message":"should probably mention that git review is going to give them back a url where their review is, and that they will receive email and should check that email and be responsive.","commit_id":"74afb748c129006ba7376a66377b3d79d374c9c6"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"312309bb6501c05118d675306d2e09aa2be6948f","unresolved":false,"context_lines":[{"line_number":179,"context_line":"be prompted to sign the CLA. After that, run ``git review`` again."},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Now you\u0027re done (for now). Reviewers will look at it and leave comments if"},{"line_number":182,"context_line":"anything is amiss. If it looks good, it will be approved, and our fearless"},{"line_number":183,"context_line":"web app developer hero will not lose to the competition and she\u0027ll cash out"},{"line_number":184,"context_line":"with billions!"},{"line_number":185,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a061dce_a176c2d4","line":182,"updated":"2016-04-06 11:41:36.000000000","message":"Insert \"This piece could take several weeks\" :P","commit_id":"74afb748c129006ba7376a66377b3d79d374c9c6"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"312309bb6501c05118d675306d2e09aa2be6948f","unresolved":false,"context_lines":[{"line_number":203,"context_line":"normal day job. You probably have a text editor open, the web browser, and the"},{"line_number":204,"context_line":"terminal app with a couple of tabs."},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"In the terminal tab where you have autodoc running, type ``control+c``. This"},{"line_number":207,"context_line":"will stop the autodoc process. Then type ``control+d`` to get out of the dev"},{"line_number":208,"context_line":"environment VM. Then type ``vagrant destroy`` to fully delete the dev"},{"line_number":209,"context_line":"environment VM and recover any space on your computer. If you don\u0027t want to"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a061dce_c12776c8","line":206,"updated":"2016-04-06 11:41:36.000000000","message":"you didn\u0027t mention needing to ctrl-c out of autodoc the first time they ran it.","commit_id":"74afb748c129006ba7376a66377b3d79d374c9c6"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a73fffa4b643c51afe7d259f407f5b37c7e39bd6","unresolved":false,"context_lines":[{"line_number":211,"context_line":"top of these instructions) will bring it back up. If you \"halt\" instead of"},{"line_number":212,"context_line":"\"destroy\", then the \"up\" command is faster. When you\u0027re done with everything,"},{"line_number":213,"context_line":"definitely use ``vagrant destroy`` to recover the hard drive space. Then type"},{"line_number":214,"context_line":"``control+d`` to close the terminal session."},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"In the other terminal tab, type ``control+d`` to close the session."},{"line_number":217,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_06f3c80b","line":214,"updated":"2016-05-06 00:21:41.000000000","message":"I... I don\u0027t honestly believe someone that can\u0027t figure out how to close their terminal session will be a successful contributor to Swift.  I\u0027m sorry.","commit_id":"27eee255d001cea13e838e7f886bb3b4f3516fd5"}]}
