diff options
author | fred-o <fredrik.appelberg@gmail.com> | 2012-03-26 09:59:50 +0200 |
---|---|---|
committer | fred-o <fredrik.appelberg@gmail.com> | 2012-03-26 09:59:50 +0200 |
commit | a4748a2aad0c57f3fab01d7bd2dcbe6be00263d2 (patch) | |
tree | cdc18d3ae8275159528f41018d58ec6ac9d54061 | |
parent | 7e5dda7f434b847e4a8899beb736a7251da3d390 (diff) | |
parent | 1120f973054836eeb53750f57d69fbec41a340dc (diff) | |
download | zsh-a4748a2aad0c57f3fab01d7bd2dcbe6be00263d2.tar.gz zsh-a4748a2aad0c57f3fab01d7bd2dcbe6be00263d2.tar.bz2 zsh-a4748a2aad0c57f3fab01d7bd2dcbe6be00263d2.zip |
Merge branch 'master' of https://github.com/robbyrussell/oh-my-zsh
-rw-r--r-- | lib/git.zsh | 36 | ||||
-rw-r--r-- | plugins/bundler/bundler.plugin.zsh | 2 |
2 files changed, 35 insertions, 3 deletions
diff --git a/lib/git.zsh b/lib/git.zsh index 4d1634e8b..fb4ad8ca6 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -4,15 +4,21 @@ function git_prompt_info() { echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX" } + # Checks if working tree is dirty parse_git_dirty() { - if [[ -n $(git status -s --ignore-submodules=dirty 2> /dev/null) ]]; then + local SUBMODULE_SYNTAX='' + if [[ $POST_1_7_2_GIT -gt 0 ]]; then + SUBMODULE_SYNTAX="--ignore-submodules=dirty" + fi + if [[ -n $(git status -s ${SUBMODULE_SYNTAX} 2> /dev/null) ]]; then echo "$ZSH_THEME_GIT_PROMPT_DIRTY" else echo "$ZSH_THEME_GIT_PROMPT_CLEAN" fi } + # Checks if there are commits ahead from remote function git_prompt_ahead() { if $(echo "$(git log origin/$(current_branch)..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then @@ -61,4 +67,30 @@ git_prompt_status() { STATUS="$ZSH_THEME_GIT_PROMPT_UNMERGED$STATUS" fi echo $STATUS -}
\ No newline at end of file +} + +#compare the provided version of git to the version installed and on path +#prints 1 if input version <= installed version +#prints -1 otherwise +function git_compare_version() { + local INPUT_GIT_VERSION=$1; + local INSTALLED_GIT_VERSION + INPUT_GIT_VERSION=(${(s/./)INPUT_GIT_VERSION}); + INSTALLED_GIT_VERSION=($(git --version)); + INSTALLED_GIT_VERSION=(${(s/./)INSTALLED_GIT_VERSION[3]}); + + for i in {1..3}; do + if [[ $INSTALLED_GIT_VERSION[$i] -lt $INPUT_GIT_VERSION[$i] ]]; then + echo -1 + return 0 + fi + done + echo 1 +} + +#this is unlikely to change so make it all statically assigned +POST_1_7_2_GIT=$(git_compare_version "1.7.2") +#clean up the namespace slightly by removing the checker function +unset -f git_compare_version + + diff --git a/plugins/bundler/bundler.plugin.zsh b/plugins/bundler/bundler.plugin.zsh index 5e9b82336..e1f571237 100644 --- a/plugins/bundler/bundler.plugin.zsh +++ b/plugins/bundler/bundler.plugin.zsh @@ -6,7 +6,7 @@ alias bu="bundle update" # The following is based on https://github.com/gma/bundler-exec -bundled_commands=(annotate cap capify cucumber ey foreman guard heroku middleman nanoc rackup rainbows rake rspec ruby shotgun spec spork thin thor unicorn unicorn_rails) +bundled_commands=(annotate cap capify cucumber ey foreman guard heroku middleman nanoc rackup rainbows rails rake rspec ruby shotgun spec spork thin thor unicorn unicorn_rails) ## Functions |