Well, I cannot delete the branches on your local machine, but you can run git fetch -p
to prune all stale references. Cheers, Daniel On Tue, Feb 9, 2016 at 2:21 AM, Marko Rodriguez <[email protected]> wrote: > 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 <[email protected]> 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 <[email protected]> > > 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 <[email protected]> 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 > >>> > >> > >
