)]}'
{"tools/eol_branch.sh":[{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"5bbe2b299cf9d17e2872f8db6d4096ec9205fddb","unresolved":false,"context_lines":[{"line_number":3,"context_line":"if [ \"$#\" \u003d\u003d \"0\" ] || [ \"$1\" \u003d\u003d \"help\" ] || [ \"$1\" \u003d\u003d \"h\" ]"},{"line_number":4,"context_line":"then"},{"line_number":5,"context_line":"    echo \"USAGE: ./eol_branch.sh branch eol_tag project [project [project [...]]]\""},{"line_number":6,"context_line":"    echo \"Run from workspace containing recent checkouts of project with a remote \u0027gerrit\u0027\""},{"line_number":7,"context_line":"    # TODO(jhesketh): make remote configurable"},{"line_number":8,"context_line":"    # TODO(jhesketh): make dry-run an argument"},{"line_number":9,"context_line":"    # TODO(jhesketh): make verbose an argument"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_280adb21","line":6,"updated":"2016-06-21 02:01:19.000000000","message":"Instead of documenting \"recent checkouts\" why not `git remote update` each when you first cd into it?","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":7069,"name":"Joshua Hesketh","email":"josh@nitrotech.org","username":"jhesketh"},"change_message_id":"e5a1485b0621e31a1c5e04c19c5c3a8322ddfd01","unresolved":false,"context_lines":[{"line_number":3,"context_line":"if [ \"$#\" \u003d\u003d \"0\" ] || [ \"$1\" \u003d\u003d \"help\" ] || [ \"$1\" \u003d\u003d \"h\" ]"},{"line_number":4,"context_line":"then"},{"line_number":5,"context_line":"    echo \"USAGE: ./eol_branch.sh branch eol_tag project [project [project [...]]]\""},{"line_number":6,"context_line":"    echo \"Run from workspace containing recent checkouts of project with a remote \u0027gerrit\u0027\""},{"line_number":7,"context_line":"    # TODO(jhesketh): make remote configurable"},{"line_number":8,"context_line":"    # TODO(jhesketh): make dry-run an argument"},{"line_number":9,"context_line":"    # TODO(jhesketh): make verbose an argument"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_c850770d","line":6,"in_reply_to":"5a9d85d2_280adb21","updated":"2016-06-21 02:04:38.000000000","message":"Done","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"873a6fdd01c21ae850693de056a39b137b01c204","unresolved":false,"context_lines":[{"line_number":23,"context_line":"shift"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"function abandon_reviews {"},{"line_number":26,"context_line":"    echo \"todo: implement abandon reviews\""},{"line_number":27,"context_line":"}"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"function tag_eol {"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_852bfa93","line":26,"updated":"2016-06-21 02:05:15.000000000","message":"You can probably borrow http://git.openstack.org/cgit/openstack/nova/tree/tools/abandon_old_reviews.sh#n31","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"3107375a5d45af18fd3ee8cf6b469a9db4c1b46f","unresolved":false,"context_lines":[{"line_number":23,"context_line":"shift"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"function abandon_reviews {"},{"line_number":26,"context_line":"    echo \"todo: implement abandon reviews\""},{"line_number":27,"context_line":"}"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"function tag_eol {"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_28365b52","line":26,"in_reply_to":"5a9d85d2_28de5b3f","updated":"2016-06-21 02:18:07.000000000","message":"Well you have a prototype to work with/from :)","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":7069,"name":"Joshua Hesketh","email":"josh@nitrotech.org","username":"jhesketh"},"change_message_id":"12989e494190ee29693d805036196f4dc235746c","unresolved":false,"context_lines":[{"line_number":23,"context_line":"shift"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"function abandon_reviews {"},{"line_number":26,"context_line":"    echo \"todo: implement abandon reviews\""},{"line_number":27,"context_line":"}"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"function tag_eol {"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_28de5b3f","line":26,"in_reply_to":"5a9d85d2_852bfa93","updated":"2016-06-21 02:11:13.000000000","message":"oh handy... I had already written half of it though :-)","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"873a6fdd01c21ae850693de056a39b137b01c204","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        echo \"git tag $TAG remotes/$REMOTE/$BRANCH\""},{"line_number":39,"context_line":"        echo \"git push gerrit $TAG\""},{"line_number":40,"context_line":"    else"},{"line_number":41,"context_line":"        git tag $TAG remotes/$REMOTE/$BRANCH"},{"line_number":42,"context_line":"        ################git push gerrit $TAG"},{"line_number":43,"context_line":"    fi"},{"line_number":44,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_0548aa86","line":41,"updated":"2016-06-21 02:05:15.000000000","message":"this probably wants to be\n\n git tag -s $TAG -F $TAGMSG_FILE remotes/$REMOTE/$BRANCH\n\nWith an appropriate message embedded in $TAGMSG_FILE","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":7069,"name":"Joshua Hesketh","email":"josh@nitrotech.org","username":"jhesketh"},"change_message_id":"12989e494190ee29693d805036196f4dc235746c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        echo \"git tag $TAG remotes/$REMOTE/$BRANCH\""},{"line_number":39,"context_line":"        echo \"git push gerrit $TAG\""},{"line_number":40,"context_line":"    else"},{"line_number":41,"context_line":"        git tag $TAG remotes/$REMOTE/$BRANCH"},{"line_number":42,"context_line":"        ################git push gerrit $TAG"},{"line_number":43,"context_line":"    fi"},{"line_number":44,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_28b5bbed","line":41,"in_reply_to":"5a9d85d2_0548aa86","updated":"2016-06-21 02:11:13.000000000","message":"We sign eol-tags? Who should be signing that?\n\nWhat\u0027s an appropriate tag message for a default?","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"3107375a5d45af18fd3ee8cf6b469a9db4c1b46f","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        echo \"git tag $TAG remotes/$REMOTE/$BRANCH\""},{"line_number":39,"context_line":"        echo \"git push gerrit $TAG\""},{"line_number":40,"context_line":"    else"},{"line_number":41,"context_line":"        git tag $TAG remotes/$REMOTE/$BRANCH"},{"line_number":42,"context_line":"        ################git push gerrit $TAG"},{"line_number":43,"context_line":"    fi"},{"line_number":44,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_a84a4bc3","line":41,"in_reply_to":"5a9d85d2_28b5bbed","updated":"2016-06-21 02:18:07.000000000","message":"Yeah we sign the tags.   Looks like it\u0027s signed by the personal key of the person tagging.\n\nfor example nova\u0027s juno-eol seems to be signed by fungi and kilo-eol signed by daviey\n\nSo far they\u0027ve been very verbose \"Juno EOL\" \"kilo-eol\" as appropriate.\n\nYou could be more creative if you wanted :)","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":7069,"name":"Joshua Hesketh","email":"josh@nitrotech.org","username":"jhesketh"},"change_message_id":"891efb0bb884e9fad094a081d4998d1732214826","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        echo \"git tag $TAG remotes/$REMOTE/$BRANCH\""},{"line_number":39,"context_line":"        echo \"git push gerrit $TAG\""},{"line_number":40,"context_line":"    else"},{"line_number":41,"context_line":"        git tag $TAG remotes/$REMOTE/$BRANCH"},{"line_number":42,"context_line":"        ################git push gerrit $TAG"},{"line_number":43,"context_line":"    fi"},{"line_number":44,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_8b9b0972","line":41,"in_reply_to":"5a9d85d2_a84a4bc3","updated":"2016-06-21 02:50:00.000000000","message":"Done","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"873a6fdd01c21ae850693de056a39b137b01c204","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        echo \"git push gerrit $TAG\""},{"line_number":40,"context_line":"    else"},{"line_number":41,"context_line":"        git tag $TAG remotes/$REMOTE/$BRANCH"},{"line_number":42,"context_line":"        ################git push gerrit $TAG"},{"line_number":43,"context_line":"    fi"},{"line_number":44,"context_line":"}"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_e5959ee4","line":42,"updated":"2016-06-21 02:05:15.000000000","message":"One # just wasn\u0027t enough :)","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":7069,"name":"Joshua Hesketh","email":"josh@nitrotech.org","username":"jhesketh"},"change_message_id":"12989e494190ee29693d805036196f4dc235746c","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        echo \"git push gerrit $TAG\""},{"line_number":40,"context_line":"    else"},{"line_number":41,"context_line":"        git tag $TAG remotes/$REMOTE/$BRANCH"},{"line_number":42,"context_line":"        ################git push gerrit $TAG"},{"line_number":43,"context_line":"    fi"},{"line_number":44,"context_line":"}"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_08b8bfe4","line":42,"in_reply_to":"5a9d85d2_e5959ee4","updated":"2016-06-21 02:11:13.000000000","message":"heh, to make sure I remember to remove it","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"873a6fdd01c21ae850693de056a39b137b01c204","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        echo \"git push $REMOTE --delete $BRANCH\""},{"line_number":55,"context_line":"    else"},{"line_number":56,"context_line":"        echo"},{"line_number":57,"context_line":"        #############git push $REMOTE --delete $BRANCH"},{"line_number":58,"context_line":"    fi"},{"line_number":59,"context_line":"}"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_68dea36e","line":57,"updated":"2016-06-21 02:05:15.000000000","message":"I\u0027m thinking about recovery if you something goes wrong and you delete the wrong thing.  You should be okay as you\u0027ll still have a local ref for origin/$BRANCH.\n\nHaving said that you possibly want to do somethign like\n\ngit branch -va \u003e somefile","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":7069,"name":"Joshua Hesketh","email":"josh@nitrotech.org","username":"jhesketh"},"change_message_id":"12989e494190ee29693d805036196f4dc235746c","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        echo \"git push $REMOTE --delete $BRANCH\""},{"line_number":55,"context_line":"    else"},{"line_number":56,"context_line":"        echo"},{"line_number":57,"context_line":"        #############git push $REMOTE --delete $BRANCH"},{"line_number":58,"context_line":"    fi"},{"line_number":59,"context_line":"}"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_a8c9ab7a","line":57,"in_reply_to":"5a9d85d2_68dea36e","updated":"2016-06-21 02:11:13.000000000","message":"I think you\u0027d just write the output of this script somewhere instead?","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"3107375a5d45af18fd3ee8cf6b469a9db4c1b46f","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        echo \"git push $REMOTE --delete $BRANCH\""},{"line_number":55,"context_line":"    else"},{"line_number":56,"context_line":"        echo"},{"line_number":57,"context_line":"        #############git push $REMOTE --delete $BRANCH"},{"line_number":58,"context_line":"    fi"},{"line_number":59,"context_line":"}"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_c87cf7ed","line":57,"in_reply_to":"5a9d85d2_a8c9ab7a","updated":"2016-06-21 02:18:07.000000000","message":"Yeah that could work.  I assume git is verbose enough by default.","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"5bbe2b299cf9d17e2872f8db6d4096ec9205fddb","unresolved":false,"context_lines":[{"line_number":63,"context_line":"do"},{"line_number":64,"context_line":"    project\u003d$1"},{"line_number":65,"context_line":"    shift"},{"line_number":66,"context_line":"    pushd $project"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    if ! [ -d .git ]"},{"line_number":69,"context_line":"    then"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_053f0ad7","line":66,"updated":"2016-06-21 02:01:19.000000000","message":"You may want to check whether $project is actually a directory (or just move the check for -d .git up before the pushd and look for -d ${project}/.git instead so that you don\u0027t fall over on the first project which isn\u0027t present on disk.","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":7069,"name":"Joshua Hesketh","email":"josh@nitrotech.org","username":"jhesketh"},"change_message_id":"e5a1485b0621e31a1c5e04c19c5c3a8322ddfd01","unresolved":false,"context_lines":[{"line_number":63,"context_line":"do"},{"line_number":64,"context_line":"    project\u003d$1"},{"line_number":65,"context_line":"    shift"},{"line_number":66,"context_line":"    pushd $project"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    if ! [ -d .git ]"},{"line_number":69,"context_line":"    then"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_e874539d","line":66,"in_reply_to":"5a9d85d2_053f0ad7","updated":"2016-06-21 02:04:38.000000000","message":"Done","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"873a6fdd01c21ae850693de056a39b137b01c204","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        echo \"skipping...\""},{"line_number":72,"context_line":"        continue"},{"line_number":73,"context_line":"    fi"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    if git rev-parse $TAG \u003e/dev/null 2\u003e\u00261"},{"line_number":76,"context_line":"    then"},{"line_number":77,"context_line":"        echo \"The tag ($TAG) already exists on $project\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_c885175a","line":74,"updated":"2016-06-21 02:05:15.000000000","message":"You probably want a git remote update in here somewhere to be certain you have the right state","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":7069,"name":"Joshua Hesketh","email":"josh@nitrotech.org","username":"jhesketh"},"change_message_id":"12989e494190ee29693d805036196f4dc235746c","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        echo \"skipping...\""},{"line_number":72,"context_line":"        continue"},{"line_number":73,"context_line":"    fi"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    if git rev-parse $TAG \u003e/dev/null 2\u003e\u00261"},{"line_number":76,"context_line":"    then"},{"line_number":77,"context_line":"        echo \"The tag ($TAG) already exists on $project\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_c8a4f7ba","line":74,"in_reply_to":"5a9d85d2_c885175a","updated":"2016-06-21 02:11:13.000000000","message":"Done","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"f48323c51252537bdc6770bc800cd2c6a01ba557","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    then"},{"line_number":84,"context_line":"        echo \"$project does not have a branch $BRANCH\""},{"line_number":85,"context_line":"        echo \"skipping...\""},{"line_number":86,"context_line":"        skipping"},{"line_number":87,"context_line":"    fi"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    abandon_reviews $project"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_08727fad","line":86,"updated":"2016-06-21 02:03:10.000000000","message":"Oh, also this is a syntax error. ;)","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"873a6fdd01c21ae850693de056a39b137b01c204","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    then"},{"line_number":84,"context_line":"        echo \"$project does not have a branch $BRANCH\""},{"line_number":85,"context_line":"        echo \"skipping...\""},{"line_number":86,"context_line":"        skipping"},{"line_number":87,"context_line":"    fi"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    abandon_reviews $project"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_c5bfc25e","line":86,"updated":"2016-06-21 02:05:15.000000000","message":"Say what now?  Should be continue right?","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":7069,"name":"Joshua Hesketh","email":"josh@nitrotech.org","username":"jhesketh"},"change_message_id":"e5a1485b0621e31a1c5e04c19c5c3a8322ddfd01","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    then"},{"line_number":84,"context_line":"        echo \"$project does not have a branch $BRANCH\""},{"line_number":85,"context_line":"        echo \"skipping...\""},{"line_number":86,"context_line":"        skipping"},{"line_number":87,"context_line":"    fi"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    abandon_reviews $project"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_6897c390","line":86,"in_reply_to":"5a9d85d2_08727fad","updated":"2016-06-21 02:04:38.000000000","message":"Done","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":7069,"name":"Joshua Hesketh","email":"josh@nitrotech.org","username":"jhesketh"},"change_message_id":"12989e494190ee29693d805036196f4dc235746c","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    then"},{"line_number":84,"context_line":"        echo \"$project does not have a branch $BRANCH\""},{"line_number":85,"context_line":"        echo \"skipping...\""},{"line_number":86,"context_line":"        skipping"},{"line_number":87,"context_line":"    fi"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    abandon_reviews $project"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_28ac9b9f","line":86,"in_reply_to":"5a9d85d2_c5bfc25e","updated":"2016-06-21 02:11:13.000000000","message":"yeah silly multi-cursor editor","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"5bbe2b299cf9d17e2872f8db6d4096ec9205fddb","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    tag_eol $project"},{"line_number":91,"context_line":"    delete_branch $project"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    popd"},{"line_number":94,"context_line":"done"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_256e8601","line":93,"updated":"2016-06-21 02:01:19.000000000","message":"Your sanity checks above continue the loop (skipping the rest of the block including this popd), which means that after the first issue all remaining checks will fail because the script will be in a different directory than it expects. You may be better off chaining elif conditionals rather than relying on continue so that the popd here will be reached on all passes through the loop.","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":7069,"name":"Joshua Hesketh","email":"josh@nitrotech.org","username":"jhesketh"},"change_message_id":"e5a1485b0621e31a1c5e04c19c5c3a8322ddfd01","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    tag_eol $project"},{"line_number":91,"context_line":"    delete_branch $project"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    popd"},{"line_number":94,"context_line":"done"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5a9d85d2_486487e4","line":93,"in_reply_to":"5a9d85d2_256e8601","updated":"2016-06-21 02:04:38.000000000","message":"yeah I caught this but didn\u0027t push a fix yet. Thanks :-)","commit_id":"211cea065f0c381c51c18ea302b70f36dbc03223"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"6ff118cc1bfa559f5ccc0863c7ee7e1c56bdef23","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        echo \"Running query: status:open project:$project branch:$BRANCH\""},{"line_number":32,"context_line":"    fi"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    ssh -p 29418 review.openstack.org gerrit query --current-patch-set status:open project:$project branch:$BRANCH | grep revision | while read -r line"},{"line_number":35,"context_line":"    do"},{"line_number":36,"context_line":"        rev\u003d`echo $line | cut -b 11-`"},{"line_number":37,"context_line":"        if [ $VERBOSE \u003d true ]"}],"source_content_type":"text/x-sh","patch_set":3,"id":"5a9d85d2_6b8a1dc1","line":34,"updated":"2016-06-21 03:12:11.000000000","message":"nit: This is a very long line and kinda important to the script so I\u0027d break it up","commit_id":"99bbd9a9c015972352ef1f6b238869839efdce7b"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"d11e48f219e88d6ca63f55ad20b504d0777570e9","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    fi"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    pushd $project"},{"line_number":97,"context_line":"    git remote update --prune"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    if git rev-parse $TAG \u003e/dev/null 2\u003e\u00261"},{"line_number":100,"context_line":"    then"}],"source_content_type":"text/x-sh","patch_set":7,"id":"3aaa91ec_55d03af6","line":97,"updated":"2016-06-24 06:28:32.000000000","message":"Oh yeah that is a good idea :)","commit_id":"a88131b80ff77bb5dd15f709dc0cf07c03a01aad"}]}
