)]}'
{"stack.sh":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"8a8f55b4a6a319e6cbad7d97930c07d2d75b0ea6","unresolved":false,"context_lines":[{"line_number":652,"context_line":""},{"line_number":653,"context_line":"# Configure an appropriate python environment"},{"line_number":654,"context_line":"if [[ \"$OFFLINE\" !\u003d \"True\" ]]; then"},{"line_number":655,"context_line":"    PYPI_ALTERNATIVE_URL\u003d$PYPI_ALTERNATIVE_URL"},{"line_number":656,"context_line":"    $TOP_DIR/tools/install_pip.sh"},{"line_number":657,"context_line":"fi"},{"line_number":658,"context_line":""}],"source_content_type":"text/x-sh","patch_set":5,"id":"1ae5cdf2_e8d5031c","line":655,"updated":"2014-06-23 21:52:51.000000000","message":"These (655 \u0026 656) need to be on the same line so the subshell sees PYPI_ALTERNATIVE_URL since it is not exported.","commit_id":"838fe0b3154dc813934ce0940b38e3438f560a70"},{"author":{"_account_id":9932,"name":"Franck Yelles","email":"franck110@gmail.com","username":"fyelles"},"change_message_id":"ac6de74c9676f33a0169cd6c4ae55783666284a6","unresolved":false,"context_lines":[{"line_number":652,"context_line":""},{"line_number":653,"context_line":"# Configure an appropriate python environment"},{"line_number":654,"context_line":"if [[ \"$OFFLINE\" !\u003d \"True\" ]]; then"},{"line_number":655,"context_line":"    PYPI_ALTERNATIVE_URL\u003d$PYPI_ALTERNATIVE_URL"},{"line_number":656,"context_line":"    $TOP_DIR/tools/install_pip.sh"},{"line_number":657,"context_line":"fi"},{"line_number":658,"context_line":""}],"source_content_type":"text/x-sh","patch_set":5,"id":"1ae5cdf2_13f18001","line":655,"in_reply_to":"1ae5cdf2_e8d5031c","updated":"2014-06-23 22:20:20.000000000","message":"Done","commit_id":"838fe0b3154dc813934ce0940b38e3438f560a70"}],"tools/install_pip.sh":[{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"80734fb52bff417021eca2ae6866d432a0b5a8ff","unresolved":false,"context_lines":[{"line_number":53,"context_line":"}"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"function create_pypi_alternative_url {"},{"line_number":57,"context_line":"    PIP_ROOT_FOLDER\u003d\"$DEST/.pip\""},{"line_number":58,"context_line":"    PIP_CONFIG_FILE\u003d\"$PIP_ROOT_FOLDER/pip.conf\""},{"line_number":59,"context_line":"    if [[ -n $PYPI_ALTERNATIVE_URL \u0026\u0026 \"$PYPI_ALTERNATIVE_URL\" !\u003d \"False\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":1,"id":"1ae5cdf2_87d06054","line":56,"updated":"2014-06-19 11:35:43.000000000","message":"imo better \"configure\" instead of \"create\"","commit_id":"0c5d8b968a85105eb763f174eba3b68c0bd3fdeb"},{"author":{"_account_id":9932,"name":"Franck Yelles","email":"franck110@gmail.com","username":"fyelles"},"change_message_id":"a80b56dd386aeb8336c29f99151841eff2748440","unresolved":false,"context_lines":[{"line_number":53,"context_line":"}"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"function create_pypi_alternative_url {"},{"line_number":57,"context_line":"    PIP_ROOT_FOLDER\u003d\"$DEST/.pip\""},{"line_number":58,"context_line":"    PIP_CONFIG_FILE\u003d\"$PIP_ROOT_FOLDER/pip.conf\""},{"line_number":59,"context_line":"    if [[ -n $PYPI_ALTERNATIVE_URL \u0026\u0026 \"$PYPI_ALTERNATIVE_URL\" !\u003d \"False\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":1,"id":"1ae5cdf2_4f04a27d","line":56,"in_reply_to":"1ae5cdf2_87d06054","updated":"2014-06-19 17:40:52.000000000","message":"Make sense - Done","commit_id":"0c5d8b968a85105eb763f174eba3b68c0bd3fdeb"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"80734fb52bff417021eca2ae6866d432a0b5a8ff","unresolved":false,"context_lines":[{"line_number":66,"context_line":"            touch $PIP_CONFIG_FILE"},{"line_number":67,"context_line":"        fi"},{"line_number":68,"context_line":"        if ! ini_has_option \"$PIP_CONFIG_FILE\" \"global\" \"index-url\"; then"},{"line_number":69,"context_line":"            #it means that the index-url does not exit"},{"line_number":70,"context_line":"            iniset \"$PIP_CONFIG_FILE\" \"global\" \"index-url\" \"$PYPI_OVERRIDE\""},{"line_number":71,"context_line":"        fi"},{"line_number":72,"context_line":"        chown -R $STACK_USER $PIP_ROOT_FOLDER"}],"source_content_type":"text/x-sh","patch_set":1,"id":"1ae5cdf2_c76a68b4","line":69,"updated":"2014-06-19 11:35:43.000000000","message":"exit/exist","commit_id":"0c5d8b968a85105eb763f174eba3b68c0bd3fdeb"},{"author":{"_account_id":9932,"name":"Franck Yelles","email":"franck110@gmail.com","username":"fyelles"},"change_message_id":"a80b56dd386aeb8336c29f99151841eff2748440","unresolved":false,"context_lines":[{"line_number":66,"context_line":"            touch $PIP_CONFIG_FILE"},{"line_number":67,"context_line":"        fi"},{"line_number":68,"context_line":"        if ! ini_has_option \"$PIP_CONFIG_FILE\" \"global\" \"index-url\"; then"},{"line_number":69,"context_line":"            #it means that the index-url does not exit"},{"line_number":70,"context_line":"            iniset \"$PIP_CONFIG_FILE\" \"global\" \"index-url\" \"$PYPI_OVERRIDE\""},{"line_number":71,"context_line":"        fi"},{"line_number":72,"context_line":"        chown -R $STACK_USER $PIP_ROOT_FOLDER"}],"source_content_type":"text/x-sh","patch_set":1,"id":"1ae5cdf2_0fd7faee","line":69,"in_reply_to":"1ae5cdf2_c76a68b4","updated":"2014-06-19 17:40:52.000000000","message":"Done","commit_id":"0c5d8b968a85105eb763f174eba3b68c0bd3fdeb"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"8859a082e1419720cbe5d145de9fd7829acc300c","unresolved":false,"context_lines":[{"line_number":23,"context_line":"source $TOP_DIR/functions"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"# Needed to get ``PYPI_ALTERNATIVE_URL``, ``DEST``, ``STACK_USER``"},{"line_number":26,"context_line":"source $TOP_DIR/stackrc"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"FILES\u003d$TOP_DIR/files"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-sh","patch_set":3,"id":"1ae5cdf2_887cad72","line":26,"updated":"2014-06-21 21:16:19.000000000","message":"This should not be required","commit_id":"d279ba5b64c93443be82f8813fae465b6fdf7216"},{"author":{"_account_id":9932,"name":"Franck Yelles","email":"franck110@gmail.com","username":"fyelles"},"change_message_id":"ed0e75ae5350da354740374d4c0ce05d0600d44a","unresolved":false,"context_lines":[{"line_number":23,"context_line":"source $TOP_DIR/functions"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"# Needed to get ``PYPI_ALTERNATIVE_URL``, ``DEST``, ``STACK_USER``"},{"line_number":26,"context_line":"source $TOP_DIR/stackrc"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"FILES\u003d$TOP_DIR/files"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-sh","patch_set":3,"id":"1ae5cdf2_250f168a","line":26,"in_reply_to":"1ae5cdf2_887cad72","updated":"2014-06-23 21:30:05.000000000","message":"Apologies, I used the create_user as model which needed that. Corrected","commit_id":"d279ba5b64c93443be82f8813fae465b6fdf7216"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"8859a082e1419720cbe5d145de9fd7829acc300c","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"function configure_pypi_alternative_url {"},{"line_number":57,"context_line":"    PIP_ROOT_FOLDER\u003d\"$DEST/.pip\""},{"line_number":58,"context_line":"    PIP_CONFIG_FILE\u003d\"$PIP_ROOT_FOLDER/pip.conf\""},{"line_number":59,"context_line":"    if [[ -n $PYPI_ALTERNATIVE_URL \u0026\u0026 \"$PYPI_ALTERNATIVE_URL\" !\u003d \"False\" ]]; then"},{"line_number":60,"context_line":"        if [[ ! -d $PIP_ROOT_FOLDER ]]; then"}],"source_content_type":"text/x-sh","patch_set":3,"id":"1ae5cdf2_d90e8d31","line":57,"updated":"2014-06-21 21:16:19.000000000","message":"use $HOME/.pip here","commit_id":"d279ba5b64c93443be82f8813fae465b6fdf7216"},{"author":{"_account_id":9932,"name":"Franck Yelles","email":"franck110@gmail.com","username":"fyelles"},"change_message_id":"ed0e75ae5350da354740374d4c0ce05d0600d44a","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"function configure_pypi_alternative_url {"},{"line_number":57,"context_line":"    PIP_ROOT_FOLDER\u003d\"$DEST/.pip\""},{"line_number":58,"context_line":"    PIP_CONFIG_FILE\u003d\"$PIP_ROOT_FOLDER/pip.conf\""},{"line_number":59,"context_line":"    if [[ -n $PYPI_ALTERNATIVE_URL \u0026\u0026 \"$PYPI_ALTERNATIVE_URL\" !\u003d \"False\" ]]; then"},{"line_number":60,"context_line":"        if [[ ! -d $PIP_ROOT_FOLDER ]]; then"}],"source_content_type":"text/x-sh","patch_set":3,"id":"1ae5cdf2_65203ef9","line":57,"in_reply_to":"1ae5cdf2_d90e8d31","updated":"2014-06-23 21:30:05.000000000","message":"Done","commit_id":"d279ba5b64c93443be82f8813fae465b6fdf7216"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"8859a082e1419720cbe5d145de9fd7829acc300c","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            #it means that the index-url does not exist"},{"line_number":70,"context_line":"            iniset \"$PIP_CONFIG_FILE\" \"global\" \"index-url\" \"$PYPI_OVERRIDE\""},{"line_number":71,"context_line":"        fi"},{"line_number":72,"context_line":"        chown -R $STACK_USER $PIP_ROOT_FOLDER"},{"line_number":73,"context_line":"    fi"},{"line_number":74,"context_line":"}"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-sh","patch_set":3,"id":"1ae5cdf2_b913815a","line":72,"updated":"2014-06-21 21:16:19.000000000","message":"This script should be run as $STACK_USER already.","commit_id":"d279ba5b64c93443be82f8813fae465b6fdf7216"},{"author":{"_account_id":9932,"name":"Franck Yelles","email":"franck110@gmail.com","username":"fyelles"},"change_message_id":"ed0e75ae5350da354740374d4c0ce05d0600d44a","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            #it means that the index-url does not exist"},{"line_number":70,"context_line":"            iniset \"$PIP_CONFIG_FILE\" \"global\" \"index-url\" \"$PYPI_OVERRIDE\""},{"line_number":71,"context_line":"        fi"},{"line_number":72,"context_line":"        chown -R $STACK_USER $PIP_ROOT_FOLDER"},{"line_number":73,"context_line":"    fi"},{"line_number":74,"context_line":"}"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-sh","patch_set":3,"id":"1ae5cdf2_851d4ac1","line":72,"in_reply_to":"1ae5cdf2_b913815a","updated":"2014-06-23 21:30:05.000000000","message":"Done","commit_id":"d279ba5b64c93443be82f8813fae465b6fdf7216"}]}
