d4d8939410
- don't remove everything before the last / - do remove <remote_name>/ - allows flow style feature/foobar branch names
20 lines
572 B
Bash
20 lines
572 B
Bash
_git_remote_branch() {
|
|
ref=$(git symbolic-ref HEAD 2> /dev/null)
|
|
if [[ -n $ref ]]; then
|
|
if (( CURRENT == 2 )); then
|
|
# first arg: operation
|
|
compadd create publish rename delete track
|
|
elif (( CURRENT == 3 )); then
|
|
# second arg: remote branch name
|
|
remotes=`git remote | tr '\n' '|' | sed "s/\|$//g"`
|
|
compadd `git branch -r | grep -v HEAD | sed "s/$remotes\///" | sed "s/ //g"`
|
|
elif (( CURRENT == 4 )); then
|
|
# third arg: remote name
|
|
compadd `git remote`
|
|
fi
|
|
else;
|
|
_files
|
|
fi
|
|
}
|
|
compdef _git_remote_branch grb
|