)]}'
{"install_rally.sh":[{"author":{"_account_id":6835,"name":"Kun Huang","email":"gareth@openstacker.org","username":"academicgareth"},"change_message_id":"f2a422878d6b176c9dd56c03ced1ab1f2ddf69ee","unresolved":false,"context_lines":[{"line_number":14,"context_line":"PROG\u003d$(basename \"${0}\")"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"running_as_root() {"},{"line_number":17,"context_line":"  test \"$(/usr/bin/id -u)\" -eq 0"},{"line_number":18,"context_line":"}"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"VERBOSE\u003d\"\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"ba15a1d1_ab96cf49","line":17,"updated":"2015-09-24 03:42:38.000000000","message":"does this line have same issue?","commit_id":"a0e99db0d4fb9fcdafa5bf4d5a010857f7fb1ed7"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"96c9c13918f7e9a6c23e71733b76dc1b459a0359","unresolved":false,"context_lines":[{"line_number":14,"context_line":"PROG\u003d$(basename \"${0}\")"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"running_as_root() {"},{"line_number":17,"context_line":"  test \"$(/usr/bin/id -u)\" -eq 0"},{"line_number":18,"context_line":"}"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"VERBOSE\u003d\"\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"7a2fa921_01c97bac","line":17,"in_reply_to":"ba15a1d1_ab96cf49","updated":"2015-10-12 15:05:34.000000000","message":"Agreed","commit_id":"a0e99db0d4fb9fcdafa5bf4d5a010857f7fb1ed7"},{"author":{"_account_id":17789,"name":"Zhao Lei","email":"zhaolei@cn.fujitsu.com","username":"zhaolei"},"change_message_id":"fc590d7320d6b0032fce3c12a8e624d66fd3b924","unresolved":false,"context_lines":[{"line_number":14,"context_line":"PROG\u003d$(basename \"${0}\")"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"running_as_root() {"},{"line_number":17,"context_line":"  test \"$(/usr/bin/id -u)\" -eq 0"},{"line_number":18,"context_line":"}"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"VERBOSE\u003d\"\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"ba15a1d1_2b2cff00","line":17,"in_reply_to":"ba15a1d1_ab96cf49","updated":"2015-10-19 01:40:23.000000000","message":"This line is right.\n\nFor $() used as argument of a command, we need to add quotes to make it to a single string.\n\nFor example:\n# echo \"$(echo \"1 2   3\")\"\n1 2   3\n# echo $(echo \"1 2   3\")\n1 2 3\n#\n\nThanks!","commit_id":"a0e99db0d4fb9fcdafa5bf4d5a010857f7fb1ed7"},{"author":{"_account_id":6835,"name":"Kun Huang","email":"gareth@openstacker.org","username":"academicgareth"},"change_message_id":"f2a422878d6b176c9dd56c03ced1ab1f2ddf69ee","unresolved":false,"context_lines":[{"line_number":272,"context_line":"    local pkg\u003d$1"},{"line_number":273,"context_line":"    local url\u003d$(download - \"$BASE_PIP_URL\"/\"$pkg\"/ | sed -n \u0027/source\\/.\\/\u0027\"$pkg\"\u0027.*gz/ { s:.*href\u003d\"\\([^#\"]*\\)[\"#].*:\\1:g; p; }\u0027 | sort | tail -1)"},{"line_number":274,"context_line":"    if [ -n \"$url\" ]; then"},{"line_number":275,"context_line":"        download \"$(basename \"$url\")\" \"$BASE_PIP_URL\"/\"$pkg\"/\"$url\""},{"line_number":276,"context_line":"    else"},{"line_number":277,"context_line":"        die $EX_PROTOCOL \"Package \u0027$pkg\u0027 not found on PyPI!\" \u003c\u003c__EOF__"},{"line_number":278,"context_line":"Unable to download package \u0027$pkg\u0027 from PyPI."}],"source_content_type":"text/x-sh","patch_set":1,"id":"ba15a1d1_cb93035a","line":275,"updated":"2015-09-24 03:42:38.000000000","message":"same","commit_id":"a0e99db0d4fb9fcdafa5bf4d5a010857f7fb1ed7"},{"author":{"_account_id":17789,"name":"Zhao Lei","email":"zhaolei@cn.fujitsu.com","username":"zhaolei"},"change_message_id":"fc590d7320d6b0032fce3c12a8e624d66fd3b924","unresolved":false,"context_lines":[{"line_number":272,"context_line":"    local pkg\u003d$1"},{"line_number":273,"context_line":"    local url\u003d$(download - \"$BASE_PIP_URL\"/\"$pkg\"/ | sed -n \u0027/source\\/.\\/\u0027\"$pkg\"\u0027.*gz/ { s:.*href\u003d\"\\([^#\"]*\\)[\"#].*:\\1:g; p; }\u0027 | sort | tail -1)"},{"line_number":274,"context_line":"    if [ -n \"$url\" ]; then"},{"line_number":275,"context_line":"        download \"$(basename \"$url\")\" \"$BASE_PIP_URL\"/\"$pkg\"/\"$url\""},{"line_number":276,"context_line":"    else"},{"line_number":277,"context_line":"        die $EX_PROTOCOL \"Package \u0027$pkg\u0027 not found on PyPI!\" \u003c\u003c__EOF__"},{"line_number":278,"context_line":"Unable to download package \u0027$pkg\u0027 from PyPI."}],"source_content_type":"text/x-sh","patch_set":1,"id":"ba15a1d1_ab400fa6","line":275,"in_reply_to":"ba15a1d1_cb93035a","updated":"2015-10-19 01:40:23.000000000","message":"ditto","commit_id":"a0e99db0d4fb9fcdafa5bf4d5a010857f7fb1ed7"},{"author":{"_account_id":6835,"name":"Kun Huang","email":"gareth@openstacker.org","username":"academicgareth"},"change_message_id":"f2a422878d6b176c9dd56c03ced1ab1f2ddf69ee","unresolved":false,"context_lines":[{"line_number":683,"context_line":"# Install rally"},{"line_number":684,"context_line":"ORIG_WD\u003d$(pwd)"},{"line_number":685,"context_line":""},{"line_number":686,"context_line":"BASEDIR\u003d$(dirname \"$(readlink -e \"$0\")\")"},{"line_number":687,"context_line":""},{"line_number":688,"context_line":"# If we are inside the git repo, don\u0027t download it again."},{"line_number":689,"context_line":"if [ -d \"$BASEDIR\"/.git ]"}],"source_content_type":"text/x-sh","patch_set":1,"id":"ba15a1d1_8b998b7b","line":686,"updated":"2015-09-24 03:42:38.000000000","message":"same","commit_id":"a0e99db0d4fb9fcdafa5bf4d5a010857f7fb1ed7"},{"author":{"_account_id":17789,"name":"Zhao Lei","email":"zhaolei@cn.fujitsu.com","username":"zhaolei"},"change_message_id":"fc590d7320d6b0032fce3c12a8e624d66fd3b924","unresolved":false,"context_lines":[{"line_number":683,"context_line":"# Install rally"},{"line_number":684,"context_line":"ORIG_WD\u003d$(pwd)"},{"line_number":685,"context_line":""},{"line_number":686,"context_line":"BASEDIR\u003d$(dirname \"$(readlink -e \"$0\")\")"},{"line_number":687,"context_line":""},{"line_number":688,"context_line":"# If we are inside the git repo, don\u0027t download it again."},{"line_number":689,"context_line":"if [ -d \"$BASEDIR\"/.git ]"}],"source_content_type":"text/x-sh","patch_set":1,"id":"ba15a1d1_8b43cbae","line":686,"in_reply_to":"ba15a1d1_8b998b7b","updated":"2015-10-19 01:40:23.000000000","message":"ditto","commit_id":"a0e99db0d4fb9fcdafa5bf4d5a010857f7fb1ed7"}]}
