)]}'
{"functions-common":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"616921fa83a4f1b112214eff70868a0222663055","unresolved":false,"context_lines":[{"line_number":1546,"context_line":"    fi"},{"line_number":1547,"context_line":"}"},{"line_number":1548,"context_line":""},{"line_number":1549,"context_line":"function git_clone_by_name {"},{"line_number":1550,"context_line":"    local name\u003d$1"},{"line_number":1551,"context_line":"    local repo\u003d${GITREPO[$name]}"},{"line_number":1552,"context_line":"    local dir\u003d${GITDIR[$name]}"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"baa201ad_03f91580","line":1549,"updated":"2014-10-01 15:41:19.000000000","message":"git_clone_by_name() really should be just after git_clone()","commit_id":"100663594a44ee2a52a7570c3c7a47b036ceebba"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"616921fa83a4f1b112214eff70868a0222663055","unresolved":false,"context_lines":[{"line_number":1555,"context_line":"}"},{"line_number":1556,"context_line":""},{"line_number":1557,"context_line":"function use_library_from_git {"},{"line_number":1558,"context_line":"    local name\u003d\"$@\""},{"line_number":1559,"context_line":"    local enabled\u003d1"},{"line_number":1560,"context_line":"    [[ ,${LIBS_FROM_GIT}, \u003d~ ,${name}, ]] \u0026\u0026 enabled\u003d0"},{"line_number":1561,"context_line":"    return $enabled"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"baa201ad_639bc172","line":1558,"updated":"2014-10-01 15:41:19.000000000","message":"this grabs all args...","commit_id":"100663594a44ee2a52a7570c3c7a47b036ceebba"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"616921fa83a4f1b112214eff70868a0222663055","unresolved":false,"context_lines":[{"line_number":1557,"context_line":"function use_library_from_git {"},{"line_number":1558,"context_line":"    local name\u003d\"$@\""},{"line_number":1559,"context_line":"    local enabled\u003d1"},{"line_number":1560,"context_line":"    [[ ,${LIBS_FROM_GIT}, \u003d~ ,${name}, ]] \u0026\u0026 enabled\u003d0"},{"line_number":1561,"context_line":"    return $enabled"},{"line_number":1562,"context_line":"}"},{"line_number":1563,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":1,"id":"baa201ad_c3838d02","line":1560,"updated":"2014-10-01 15:41:19.000000000","message":"...but then compares them as a single string.  I think it should either set name\u003d$1 or loop over $name here.\n\nAlso, LIBS_FROM_GIT should be listed in the dependencies at the top, especially since it doesn\u0027t appear anywhere else in DevStack (yet?).","commit_id":"100663594a44ee2a52a7570c3c7a47b036ceebba"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"fd08eeefc165b8fc99f09db00033cc7ed7763873","unresolved":false,"context_lines":[{"line_number":604,"context_line":"}"},{"line_number":605,"context_line":""},{"line_number":606,"context_line":"# A variation on git clone that lets us specify a project by it\u0027s"},{"line_number":607,"context_line":"# actually name, like oslo.config. This is exceptionally useful in the"},{"line_number":608,"context_line":"# library installation case"},{"line_number":609,"context_line":"function git_clone_by_name {"},{"line_number":610,"context_line":"    local name\u003d$1"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"baa201ad_23329210","line":607,"updated":"2014-10-01 20:06:16.000000000","message":"s/actually name/actual name/","commit_id":"d3d53f34aa6f105e6315093bb38d2b3248e18e9d"}],"lib/infra":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"fd08eeefc165b8fc99f09db00033cc7ed7763873","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    # Install pbr"},{"line_number":34,"context_line":"    if use_library_from_git \"pbr\"; then"},{"line_number":35,"context_line":"        git_clone_by_name \"pbr\""},{"line_number":36,"context_line":"        setup_lib \"pbr\""},{"line_number":37,"context_line":"    else"},{"line_number":38,"context_line":"        pip_install \"pbr\""},{"line_number":39,"context_line":"    fi"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"baa201ad_ee46b14e","line":36,"updated":"2014-10-01 20:06:16.000000000","message":"So, the setup_lib function already includes the following:\n\n\t    if use_library_from_git $name; then\n\nso it would seem you might want to have a separate common function that installs the library from source or pip installs it depending on the result of use_library_from_git. Perhaps just change the name of the setup_lib function to \"install_lib\" and move the:\n\n else\n     pip_install \"pbr\"\n fi\n\nblock into that common function?","commit_id":"d3d53f34aa6f105e6315093bb38d2b3248e18e9d"}],"lib/oslo":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"8d71edbae55efaa413a66e723d575d864aa0b450","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    git_clone $OSLOSERIALIZATION_REPO $OSLOSERIALIZATION_DIR $OSLOSERIALIZATION_BRANCH"},{"line_number":58,"context_line":"    setup_install $OSLOSERIALIZATION_DIR"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    if use_library_from_git \"oslo.config\"; then"},{"line_number":61,"context_line":"        git_clone_by_name \"oslo.config\""},{"line_number":62,"context_line":"        setup_lib \"oslo.config\""},{"line_number":63,"context_line":"    fi"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"baa201ad_9e163aa6","line":60,"updated":"2014-10-01 16:07:45.000000000","message":"This block loops ripe for either a loop or a function.","commit_id":"4535ae4a165c79f8f275df146db82ee38cc548a9"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"fd08eeefc165b8fc99f09db00033cc7ed7763873","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"function _do_install_oslo_lib {"},{"line_number":46,"context_line":"    local name\u003d$1"},{"line_number":47,"context_line":"    if use_library_from_git \"$name\"; then"},{"line_number":48,"context_line":"        git_clone_by_name \"$name\""},{"line_number":49,"context_line":"        setup_lib \"$name\""},{"line_number":50,"context_line":"    fi"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"baa201ad_ce900d98","line":47,"updated":"2014-10-01 20:06:16.000000000","message":"same comment about the repeated use_library_from_git guard.... just seems strange.","commit_id":"d3d53f34aa6f105e6315093bb38d2b3248e18e9d"}]}
