)]}'
{"inc/plugin":[{"author":{"_account_id":7069,"name":"Joshua Hesketh","email":"josh@nitrotech.org","username":"jhesketh"},"change_message_id":"745256fa2e404d2d1ac20dcec258d77044a1e7aa","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    export UPGRADE_PROJECTS"},{"line_number":59,"context_line":"}"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"function reverse_project {"},{"line_number":62,"context_line":"    local str\u003d\"\""},{"line_number":63,"context_line":"    local reversed\u003d\"\""},{"line_number":64,"context_line":"    for str in $@; do"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"da85f559_a33912d9","line":61,"updated":"2015-11-11 11:27:03.000000000","message":"(nit) I would have called this reverse_projects","commit_id":"ac3ccd67c0dafbcbf6e942fa656a31caf0ed97a2"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"b4454430d8b38c8b373e05e88549e8f022ed2a02","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    export UPGRADE_PROJECTS"},{"line_number":59,"context_line":"}"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"function reverse_project {"},{"line_number":62,"context_line":"    local str\u003d\"\""},{"line_number":63,"context_line":"    local reversed\u003d\"\""},{"line_number":64,"context_line":"    for str in $@; do"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"7a740942_ee47c6a0","line":61,"in_reply_to":"7a740942_b2947f44","updated":"2015-12-14 12:19:58.000000000","message":"If we call it reverse_list or reverse I\u0027m fine with this change.","commit_id":"ac3ccd67c0dafbcbf6e942fa656a31caf0ed97a2"},{"author":{"_account_id":15447,"name":"yongfeng","email":"dolpher.du@intel.com","username":"dolpher"},"change_message_id":"4250ad7c34e61ac86c6bc37a68fe2aeb926208fa","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    export UPGRADE_PROJECTS"},{"line_number":59,"context_line":"}"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"function reverse_project {"},{"line_number":62,"context_line":"    local str\u003d\"\""},{"line_number":63,"context_line":"    local reversed\u003d\"\""},{"line_number":64,"context_line":"    for str in $@; do"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"5a710552_f3e76daa","line":61,"in_reply_to":"7a740942_ee47c6a0","updated":"2015-12-15 06:05:26.000000000","message":"Will change it to reverse_list()","commit_id":"ac3ccd67c0dafbcbf6e942fa656a31caf0ed97a2"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"d14461ce51e22aad5458500121aacd4eca146fd0","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    export UPGRADE_PROJECTS"},{"line_number":59,"context_line":"}"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"function reverse_project {"},{"line_number":62,"context_line":"    local str\u003d\"\""},{"line_number":63,"context_line":"    local reversed\u003d\"\""},{"line_number":64,"context_line":"    for str in $@; do"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"7a740942_b2947f44","line":61,"in_reply_to":"da85f559_a33912d9","updated":"2015-12-09 20:22:06.000000000","message":"Or generalized it to just reverse_list()","commit_id":"ac3ccd67c0dafbcbf6e942fa656a31caf0ed97a2"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"d14461ce51e22aad5458500121aacd4eca146fd0","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    echo \"Upgrade projects: $projects\""},{"line_number":77,"context_line":"    # iterate in reverse under the theory that we should take down"},{"line_number":78,"context_line":"    # services in opposite order"},{"line_number":79,"context_line":"    for project in $projects; do"},{"line_number":80,"context_line":"        echo \"Looking for $project\""},{"line_number":81,"context_line":"        local dir\u003d${PLUGIN_DIR[$project]}"},{"line_number":82,"context_line":"        if [[ -z \"$dir\" ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"7a740942_eddb084e","line":79,"updated":"2015-12-09 20:22:06.000000000","message":"How about just iterating over the list backwards?\n\n  set $projects\n  for (( i \u003d ${#*}; i \u003e 0; i--)) {\n   project\u003d${!i}\n    ...\n  }","commit_id":"ac3ccd67c0dafbcbf6e942fa656a31caf0ed97a2"},{"author":{"_account_id":15447,"name":"yongfeng","email":"dolpher.du@intel.com","username":"dolpher"},"change_message_id":"4250ad7c34e61ac86c6bc37a68fe2aeb926208fa","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    echo \"Upgrade projects: $projects\""},{"line_number":77,"context_line":"    # iterate in reverse under the theory that we should take down"},{"line_number":78,"context_line":"    # services in opposite order"},{"line_number":79,"context_line":"    for project in $projects; do"},{"line_number":80,"context_line":"        echo \"Looking for $project\""},{"line_number":81,"context_line":"        local dir\u003d${PLUGIN_DIR[$project]}"},{"line_number":82,"context_line":"        if [[ -z \"$dir\" ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"5a710552_4e525415","line":79,"in_reply_to":"7a740942_eddb084e","updated":"2015-12-15 06:05:26.000000000","message":"I didn\u0027t know we can list the string backwards like this before, thanks Dean.\n\nIn this case, 2 places(shutdown and destroy) need the reversed list, and the message of shutdown should be reversed too. So generalizing them in a function might be better.","commit_id":"ac3ccd67c0dafbcbf6e942fa656a31caf0ed97a2"}]}
