summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorGianluca Recchia <gianluca.recchia97@gmail.com>2018-12-30 03:10:49 +0100
committerGianluca Recchia <gianluca.recchia97@gmail.com>2019-01-29 04:11:02 +0100
commit308b046875f745abb87b3ef9f0382029fe37b452 (patch)
tree7a6413c9d688b2b8d0837465caf335452eeb2c97 /plugins
parentb9670d04092a461ae1db41080263b5a82bc1f958 (diff)
downloadzsh-308b046875f745abb87b3ef9f0382029fe37b452.tar.gz
zsh-308b046875f745abb87b3ef9f0382029fe37b452.tar.bz2
zsh-308b046875f745abb87b3ef9f0382029fe37b452.zip
Use stash 'push' or 'save' depending on Git version
A utility function now parses the output of git --version and set the alias for git stash to 'git stash push' iff the current version of Git is greater than 2.13; it falls back to 'git stash save' otherwise.
Diffstat (limited to 'plugins')
-rw-r--r--plugins/git/git.plugin.zsh7
1 files changed, 6 insertions, 1 deletions
diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh
index 2251bae2e..17e4d4b9d 100644
--- a/plugins/git/git.plugin.zsh
+++ b/plugins/git/git.plugin.zsh
@@ -33,6 +33,11 @@ function work_in_progress() {
fi
}
+function _omz_git_stash_command() {
+ [[ `git --version 2>/dev/null` =~ '^git version ([[:digit:]]+.[[:digit:]]+)' && "$match[1]" >= '2.13' ]] \
+ && echo push || echo save
+}
+
#
# Aliases
# (sorted alphabetically)
@@ -238,7 +243,7 @@ alias gsps='git show --pretty=short --show-signature'
alias gsr='git svn rebase'
alias gss='git status -s'
alias gst='git status'
-alias gsta='git stash save'
+alias gsta="git stash $(_omz_git_stash_command)"
alias gstaa='git stash apply'
alias gstc='git stash clear'
alias gstd='git stash drop'