WARNING: I suspect this command will also remove local branches that you
haven't push yet.

On Tue, Feb 9, 2016 at 3:07 AM, Daniel Kuppitz <[email protected]> wrote:

> 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
>> >>>
>> >>
>>
>>
>

Reply via email to