1
0
Fork 0
mirror of synced 2024-11-15 20:48:57 -05:00
zimfw/modules/git/functions/git-branch-delete-interactive
Eric Nielsen 451e51bd88 [git] Add git-branch-delete-interactive
that prompts if upstream remote branch(es) should be deleted too. As
with `git branch`, the function supports multiple branches as params,
and also the `-r`/`--remotes` param. Update `gbx` and `gbX` to use this
function.

Also update `git-stash-clear-interactive` to have multiple tests instead
of multiple nested `if`/`then`/`fi`. (Simpler syntax, IMHO)
2018-02-05 10:44:59 -05:00

16 lines
460 B
Bash

# vim:et sts=2 sw=2 ft=zsh
local -a remotes
if (( ${*[(I)-r]} || ${*[(I)--remotes]} )); then
remotes=(${^*:#-*})
else
remotes=(${(f)"$(command git rev-parse --abbrev-ref ${^*:#-*}@{u} 2>/dev/null)"})
fi
if command git branch --delete ${@} && \
(( ${#remotes[@]} )) && \
read -q "?Also delete remote branch(es) ${remotes} [y/N]? "; then
print
local remote
for remote (${remotes}); do
command git push ${remote%%/*} :${remote#*/}
done
fi