#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# Prints list of all local branches, which doesn't have remote.
#
# If '-d' argument passed it tries to delete found branches.
# Note that foreceful delete is used - so ANY UNMERGED CHANGES WILL BE LOST!
#
# Note this script doesn't inspect current branch.

for branch in `git branch | grep -v "*"`; do
    git branch -r | grep "$branch" > /dev/null
    if [ "$?" ==  "1" ]; then
        if [ "$1" == "-d" ]; then
            git branch -D $branch
        else
            echo "$branch"
        fi;
    fi;
done;
