# A kind of pkill/killall
KillAll() {
+ if [ -z "$1" -o -n "$3" ]; then
+ echo "Usage: KillAll [-signal] proc_regexp" >&2
+ return 1
+ fi
if [ -z "$2" ]; then
kill `pidOf "$1"`
else
if test -x /usr/bin/git >/dev/null 2>&1; then
# chdir to a remote's directory (if the remote is on the local FS)
cdremote() {
+ if [ -z "$1" -o -n "$2" ]; then
+ echo "Usage: cdremote remote_name" >&2
+ return 1
+ fi
cd "`git config --get remote.$1.url`"
}
if test -n "$BASH_VERSION"; then
# completion for global aliases in .gitconfig
- # fixup rbi rbia rbiap rbip - delegate to git-rebase completion
- _git_fixup() { _git_rebase ; }
- _git_rbi() { _git_rebase ; }
- _git_rbia() { _git_rebase ; }
- _git_rbiap() { _git_rebase ; }
- _git_rbip() { _git_rebase ; }
+ # fixup rbi rbia rbiap rbip - do refs name completion
+ _git_fixup() { __gitcomp_nl "$(__git_refs)" ; }
+ _git_rbi() { __gitcomp_nl "$(__git_refs)" ; }
+ _git_rbia() { __gitcomp_nl "$(__git_refs)" ; }
+ _git_rbiap() { __gitcomp_nl "$(__git_refs)" ; }
+ _git_rbip() { __gitcomp_nl "$(__git_refs)" ; }
+ #
+ # push-to-all-remotes - do branch name completion
+ _git_push_to_all_remotes() { __gitcomp_nl "$(__git_heads)" ; }
# list remotes with URLs matching a regexp
_list_remotes() {
+ if [ -z "$1" -o -n "$2" ]; then
+ echo "Usage: _list_remotes remote_regexp" >&2
+ return 1
+ fi
GIT_REMOTES=""
local remote
for remote in `git remote`; do
done
}
- # completion for cdremote - list remotes with directories as URLs
- _cdremote_complete() {
+ # completion for cdremote and git-open - list remotes with a pattern
+ _list_remotes_completion() {
local cur="${COMP_WORDS[COMP_CWORD]}";
- _list_remotes '^\(/\|\.\./\)' # (/ or ../ at the beginning)
+ _list_remotes "$1"
COMPREPLY=(`compgen -W "$GIT_REMOTES" -- "$cur"`)
unset GIT_REMOTES
}
+ # completion for cdremote - list remotes with directories as URLs
+ _cdremote_complete() {
+ _list_remotes_completion '^\(/\|\.\./\)' # (/ or ../ at the beginning)
+ }
+
complete -F _cdremote_complete cdremote
# completion for git-open - list remotes with http(s) URLs
_git_open() {
- local cur="${COMP_WORDS[COMP_CWORD]}";
- _list_remotes '^http\(s\)\?://'
- COMPREPLY=(`compgen -W "$GIT_REMOTES" -- "$cur"`)
- unset GIT_REMOTES
+ _list_remotes_completion '^http\(s\)\?://'
}
complete -F _git_open git-open