Only alias git=hub if hub --version works.

`hub` is crashing for me on a old CentOS setup with
"undefined method `shelljoin'".

On first use of the `git` function it is now checked if
`hub --version` returns successfully.
This commit is contained in:
Daniel Hahler 2011-11-24 13:51:55 +01:00
parent 757fa3314d
commit 2c660c16ad

View File

@ -1,7 +1,17 @@
# Setup hub function for git, if it is available; http://github.com/defunkt/hub # Setup hub function for git, if it is available; http://github.com/defunkt/hub
if [ "$commands[(I)hub]" ] && [ "$commands[(I)ruby]" ]; then if [ "$commands[(I)hub]" ] && [ "$commands[(I)ruby]" ]; then
# eval `hub alias -s zsh` # eval `hub alias -s zsh`
function git(){hub "$@"} function git(){
if ! (( $+_has_working_hub )); then
hub --version &> /dev/null
_has_working_hub=$(($? == 0))
fi
if (( $_has_working_hub )) ; then
hub "$@"
else
command git "$@"
fi
}
fi fi
# Functions ################################################################# # Functions #################################################################