)]}'
{"eol_branch.sh":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"d25bdc79238332c864601effabd7d8a06f3bec6f","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    exit 0"},{"line_number":13,"context_line":"fi"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"DRY\u003dtrue"},{"line_number":16,"context_line":"VERBOSE\u003dtrue"},{"line_number":17,"context_line":"REMOTE\u003dgerrit"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-sh","patch_set":2,"id":"1aa78d24_e29b9d70","line":15,"updated":"2016-07-05 19:19:40.000000000","message":"If instead of setting DRY\u003dtrue and then testing it everywhere you set it to \"echo\" and use it as a prefix for all potentially destructive commands, then you can avoid the potential drift between the dry-run mode and the regular mode because you\u0027ll only have one version of each command.","commit_id":"04ce4bfd22973a4395f0d0847e0ed3cc4ee8f956"},{"author":{"_account_id":7069,"name":"Joshua Hesketh","email":"josh@nitrotech.org","username":"jhesketh"},"change_message_id":"b5445c12f37d40c4a337b2fbc5c6f6fae3c6892c","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    exit 0"},{"line_number":13,"context_line":"fi"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"DRY\u003dtrue"},{"line_number":16,"context_line":"VERBOSE\u003dtrue"},{"line_number":17,"context_line":"REMOTE\u003dgerrit"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-sh","patch_set":2,"id":"1aa78d24_da4f70bc","line":15,"in_reply_to":"1aa78d24_e29b9d70","updated":"2016-07-11 13:20:49.000000000","message":"Done","commit_id":"04ce4bfd22973a4395f0d0847e0ed3cc4ee8f956"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"d25bdc79238332c864601effabd7d8a06f3bec6f","unresolved":false,"context_lines":[{"line_number":21,"context_line":"shift"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"# Second argument is the tag to use before deletion"},{"line_number":24,"context_line":"TAG\u003d$1"},{"line_number":25,"context_line":"shift"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"EOL_MESSAGE\u003d\"This branch ($BRANCH) is at End Of Life\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"1aa78d24_02786929","line":24,"updated":"2016-07-05 19:19:40.000000000","message":"Couldn\u0027t we derive this from the branch name? Better yet, instead of taking stable/foo as the argument, we could just take foo and construct the canonical branch name and tag name.","commit_id":"04ce4bfd22973a4395f0d0847e0ed3cc4ee8f956"},{"author":{"_account_id":7069,"name":"Joshua Hesketh","email":"josh@nitrotech.org","username":"jhesketh"},"change_message_id":"b5445c12f37d40c4a337b2fbc5c6f6fae3c6892c","unresolved":false,"context_lines":[{"line_number":21,"context_line":"shift"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"# Second argument is the tag to use before deletion"},{"line_number":24,"context_line":"TAG\u003d$1"},{"line_number":25,"context_line":"shift"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"EOL_MESSAGE\u003d\"This branch ($BRANCH) is at End Of Life\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"1aa78d24_9aae8896","line":24,"in_reply_to":"1aa78d24_02786929","updated":"2016-07-11 13:20:49.000000000","message":"Some projects haven\u0027t followed the stable/$release notation so this needs to be configurable. For the same reason it\u0027s difficult to get $release from the branch to create \u0027eol-$release\u0027","commit_id":"04ce4bfd22973a4395f0d0847e0ed3cc4ee8f956"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"8df46f39d173abcca1f5b8bd0eae0d3524247201","unresolved":false,"context_lines":[{"line_number":21,"context_line":"shift"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"# Second argument is the tag to use before deletion"},{"line_number":24,"context_line":"TAG\u003d$1"},{"line_number":25,"context_line":"shift"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"EOL_MESSAGE\u003d\"This branch ($BRANCH) is at End Of Life\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"1aa78d24_1bd61027","line":24,"in_reply_to":"1aa78d24_9aae8896","updated":"2016-07-11 15:33:34.000000000","message":"Makes sense. We enforce that now with the script that creates the branches, so maybe in the future we can simplify this.","commit_id":"04ce4bfd22973a4395f0d0847e0ed3cc4ee8f956"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"d25bdc79238332c864601effabd7d8a06f3bec6f","unresolved":false,"context_lines":[{"line_number":89,"context_line":"while (( \"$#\" )); do"},{"line_number":90,"context_line":"    project\u003d$1"},{"line_number":91,"context_line":"    shift"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    if ! [ -d $project/.git ]; then"},{"line_number":94,"context_line":"        echo \"$project is not a git repo\""},{"line_number":95,"context_line":"        echo \"skipping...\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"1aa78d24_e2a9dd7c","line":92,"updated":"2016-07-05 19:19:40.000000000","message":"Most of the other commands we have use zuul-cloner to get a local copy of the repository in a working directory.","commit_id":"04ce4bfd22973a4395f0d0847e0ed3cc4ee8f956"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"8df46f39d173abcca1f5b8bd0eae0d3524247201","unresolved":false,"context_lines":[{"line_number":89,"context_line":"while (( \"$#\" )); do"},{"line_number":90,"context_line":"    project\u003d$1"},{"line_number":91,"context_line":"    shift"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    if ! [ -d $project/.git ]; then"},{"line_number":94,"context_line":"        echo \"$project is not a git repo\""},{"line_number":95,"context_line":"        echo \"skipping...\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"1aa78d24_fb0344b6","line":92,"in_reply_to":"1aa78d24_9a5de87b","updated":"2016-07-11 15:33:34.000000000","message":"OK. I\u0027m looking ahead to the time when we\u0027ll automate this through reviews, but we can continue to revise the script as we go.","commit_id":"04ce4bfd22973a4395f0d0847e0ed3cc4ee8f956"},{"author":{"_account_id":7069,"name":"Joshua Hesketh","email":"josh@nitrotech.org","username":"jhesketh"},"change_message_id":"b5445c12f37d40c4a337b2fbc5c6f6fae3c6892c","unresolved":false,"context_lines":[{"line_number":89,"context_line":"while (( \"$#\" )); do"},{"line_number":90,"context_line":"    project\u003d$1"},{"line_number":91,"context_line":"    shift"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    if ! [ -d $project/.git ]; then"},{"line_number":94,"context_line":"        echo \"$project is not a git repo\""},{"line_number":95,"context_line":"        echo \"skipping...\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"1aa78d24_9a5de87b","line":92,"in_reply_to":"1aa78d24_e2a9dd7c","updated":"2016-07-11 13:20:49.000000000","message":"This is just a crude tool I needed to do a job. It\u0027s certainly not feature complete. I think this is acceptable for the moment. A lot of devs us gertty or their own tools to have a copy of openstack/*.\n\nOtherwise the solution here would probably be to query gerrit to ls-projects and then ensure they are cloned or up to date etc. There is a bit of work to make sure it doesn\u0027t screw up your local workspace and is compatible with what devs may have configured. Otherwise the alternative is downloading the world again which seems wasteful when devs can provide the checkouts.","commit_id":"04ce4bfd22973a4395f0d0847e0ed3cc4ee8f956"}]}
