)]}'
{"functions.sh":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"551c2db5ce0ad7e5b795ab3a32d9112532afcc31","unresolved":false,"context_lines":[{"line_number":193,"context_line":"    # Attempt a git remote prune. Run for up to 5 minutes before killing."},{"line_number":194,"context_line":"    # If first SIGTERM does not kill the process wait a minute then SIGKILL."},{"line_number":195,"context_line":"    # If update fails try again for up to a total of 3 attempts."},{"line_number":196,"context_line":"    MAX_ATTEMPTS\u003d3"},{"line_number":197,"context_line":"    COUNT\u003d0"},{"line_number":198,"context_line":"    until timeout -k 1m 5m git remote prune origin; do"},{"line_number":199,"context_line":"        COUNT\u003d$(($COUNT + 1))"}],"source_content_type":"text/x-sh","patch_set":1,"id":"7a016987_8709122f","line":196,"updated":"2015-05-15 03:48:01.000000000","message":"can we use locals\n\nin fact we have the same thing in https://git.openstack.org/cgit/openstack-dev/devstack/tree/functions-common#n495","commit_id":"c5f12425583dd914ce591e91f941759840c2296a"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"2d43cab12cc37d7da27ea007c97234b09118c36b","unresolved":false,"context_lines":[{"line_number":193,"context_line":"    # Attempt a git remote prune. Run for up to 5 minutes before killing."},{"line_number":194,"context_line":"    # If first SIGTERM does not kill the process wait a minute then SIGKILL."},{"line_number":195,"context_line":"    # If update fails try again for up to a total of 3 attempts."},{"line_number":196,"context_line":"    MAX_ATTEMPTS\u003d3"},{"line_number":197,"context_line":"    COUNT\u003d0"},{"line_number":198,"context_line":"    until timeout -k 1m 5m git remote prune origin; do"},{"line_number":199,"context_line":"        COUNT\u003d$(($COUNT + 1))"}],"source_content_type":"text/x-sh","patch_set":1,"id":"7a016987_3cc6c29a","line":196,"in_reply_to":"7a016987_10e1be9a","updated":"2015-05-18 01:40:07.000000000","message":"i think it\u0027s fine to copy, if you like; it has at least had testing.  we don\u0027t have any particular way to share the code between these two projects","commit_id":"c5f12425583dd914ce591e91f941759840c2296a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"64883bd02dee75d806d138a3e4f851847dac0225","unresolved":false,"context_lines":[{"line_number":193,"context_line":"    # Attempt a git remote prune. Run for up to 5 minutes before killing."},{"line_number":194,"context_line":"    # If first SIGTERM does not kill the process wait a minute then SIGKILL."},{"line_number":195,"context_line":"    # If update fails try again for up to a total of 3 attempts."},{"line_number":196,"context_line":"    MAX_ATTEMPTS\u003d3"},{"line_number":197,"context_line":"    COUNT\u003d0"},{"line_number":198,"context_line":"    until timeout -k 1m 5m git remote prune origin; do"},{"line_number":199,"context_line":"        COUNT\u003d$(($COUNT + 1))"}],"source_content_type":"text/x-sh","patch_set":1,"id":"9a41bdd9_ed8db9d3","line":196,"in_reply_to":"7a016987_3cc6c29a","updated":"2015-07-15 14:20:22.000000000","message":"I think I\u0027m going to just pull the common code here into a method and use that.  git_timed in devstack is just different enough that I don\u0027t want to copy it fully over in case the stuff in either has been tweaked specifically for their respective projects.  Plus we have e-r queries based on the timeout messages in git_remote_update and I don\u0027t want to break those with new generic error message that git_timed has in devstack.","commit_id":"c5f12425583dd914ce591e91f941759840c2296a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"55bc1d1928da6b06471ba5fa988066ba50528ad1","unresolved":false,"context_lines":[{"line_number":193,"context_line":"    # Attempt a git remote prune. Run for up to 5 minutes before killing."},{"line_number":194,"context_line":"    # If first SIGTERM does not kill the process wait a minute then SIGKILL."},{"line_number":195,"context_line":"    # If update fails try again for up to a total of 3 attempts."},{"line_number":196,"context_line":"    MAX_ATTEMPTS\u003d3"},{"line_number":197,"context_line":"    COUNT\u003d0"},{"line_number":198,"context_line":"    until timeout -k 1m 5m git remote prune origin; do"},{"line_number":199,"context_line":"        COUNT\u003d$(($COUNT + 1))"}],"source_content_type":"text/x-sh","patch_set":1,"id":"7a016987_10e1be9a","line":196,"in_reply_to":"7a016987_8709122f","updated":"2015-05-15 21:05:03.000000000","message":"Ian, I\u0027d like to re-use that method from devstack, so are you suggesting I copy that into here?  Then I could use that for git remote prune and git remote update.","commit_id":"c5f12425583dd914ce591e91f941759840c2296a"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"38cbc3ab22660cb5c75d3257f5ee8e4f438e9dbc","unresolved":false,"context_lines":[{"line_number":215,"context_line":"    local count\u003d0"},{"line_number":216,"context_line":"    until timeout -k 1m 5m git \"$@\"; do"},{"line_number":217,"context_line":"        count\u003d$(($count + 1))"},{"line_number":218,"context_line":"        echo \u0027git \"$@\" failed.\u0027"},{"line_number":219,"context_line":"        if [ $count -eq $max_attempts ]; then"},{"line_number":220,"context_line":"            echo \u0027Max attempts reached for git \"$@\"; giving up.\u0027"},{"line_number":221,"context_line":"            exit 1"}],"source_content_type":"text/x-sh","patch_set":3,"id":"9a41bdd9_b3005e03","line":218,"updated":"2015-07-15 20:45:03.000000000","message":"minor nit, but this is going to print that literally, which isn\u0027t what is intended","commit_id":"d531c604a547ac3de3b45de5c0011a700eb3d1c4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"be0be9d24f742050ca0f02c1904d6b7a932eba99","unresolved":false,"context_lines":[{"line_number":215,"context_line":"    local count\u003d0"},{"line_number":216,"context_line":"    until timeout -k 1m 5m git \"$@\"; do"},{"line_number":217,"context_line":"        count\u003d$(($count + 1))"},{"line_number":218,"context_line":"        echo \u0027git \"$@\" failed.\u0027"},{"line_number":219,"context_line":"        if [ $count -eq $max_attempts ]; then"},{"line_number":220,"context_line":"            echo \u0027Max attempts reached for git \"$@\"; giving up.\u0027"},{"line_number":221,"context_line":"            exit 1"}],"source_content_type":"text/x-sh","patch_set":3,"id":"9a41bdd9_331c206a","line":218,"in_reply_to":"9a41bdd9_b3005e03","updated":"2015-07-16 14:56:05.000000000","message":"Done","commit_id":"d531c604a547ac3de3b45de5c0011a700eb3d1c4"}]}
