Hi guys, Does this also delete local branches? Do we still have to handle that manually?
Thanks, Marko. http://markorodriguez.com On Feb 8, 2016, at 5:47 PM, Daniel Kuppitz <m...@gremlin.guru> wrote: > Actually it doesn't even have to be part of the release process, this > script could also be triggered by a daily cron job. It just goes through > all the remote branches, find the respective Jira ticket and if the ticket > is closed, it will delete the branch. Thus the number of versions we're > currently working on doesn't make a difference. > > Cheers, > Daniel > > > On Mon, Feb 8, 2016 at 10:21 PM, Stephen Mallette <spmalle...@gmail.com> > wrote: > >> I like the convenience of a script as we don't get the nice "delete branch" >> button in GitHub after we merge a PR (as we're on a mirror from Apache - i >> assume). >> >> Daniel, what happens when we have two versions going though? like for >> 3.1.2-incubating and 3.2.0-incubating when we run the script on release of >> 1 it will blow out the branches for the other - it's not going to be >> "release" specific. I guess that's ok....... >> >> On Mon, Feb 8, 2016 at 2:30 PM, Daniel Kuppitz <m...@gremlin.guru> wrote: >> >>> Hi devs, >>> >>> after the TP 3.1.1 release was managed by Stephen, we had to clean up / >>> delete a lot of branches that were no longer needed. We used to delete >>> branches as soon as we were done with the work on it, but at some point >>> Apache disabled the functionality to delete branches and so we ended up >>> with a lot of dead branches. >>> >>> For the cleanup I've used a simple shell script that checks the status of >>> the respective Jira ticket and if it's closed, the branch is assumed to >> be >>> no longer needed and will be deleted. >>> >>> This is the script: >>> >>> for branch in $(git branch -r | grep -Po 'TINKERPOP[3]?-.*') >>> do >>> jira=`sed 's/TINKERPOP3/TINKERPOP/' <<< $branch | grep -Po >>> 'TINKERPOP-[0-9]*'` >>> status=`curl -s https://issues.apache.org/jira/browse/$jira | grep -A1 >>> status-val | grep -Po '(?<=>)[^<]*(?=)' | head -n1` >>> if [ "$status" == "Closed" ]; then >>> git push origin --delete $branch >>> fi >>> done >>> >>> >>> Do people like the idea of running this script as part of the release >>> process? In this case developers would no longer need to remember to >> delete >>> development branches; however naming conventions would become even more >>> important AND tickets should only be closed after the branch was merged. >>> >>> Cheers, >>> Daniel >>> >>