#!/usr/bin/env bash
set -e

# Assert there is at least one branch provided
test -z $1 && echo "branch required." 1>&2 && exit 1

for branch in "$@"
do
  remote=$(git config branch.$branch.remote || echo "origin")
  ref=$(git config branch.$branch.merge || echo "refs/heads/$branch")

  git branch -D $branch || true
  # Avoid deleting local upstream
  [ "$remote" == "." ] && continue
  git branch -d -r $remote/$branch || continue
  git push $remote :$ref
done
