Browse Source

git: use stash 'push' instead of the deprecated 'save' (#7486)

* 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 2.13 or greater; it falls back to 'git stash save' otherwise.
Marc Cornellà 6 years ago
parent
commit
35dc26a2c0
1 changed files with 6 additions and 1 deletions
  1. 6 1
      plugins/git/git.plugin.zsh

+ 6 - 1
plugins/git/git.plugin.zsh

@@ -239,7 +239,12 @@ 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'
+
+# use the default stash push on git 2.13 and newer
+[[ "$(git --version 2>/dev/null)" =~ '^git version ([0-9]+.[0-9]+)' && "$match" -ge '2.13' ]] \
+  && alias gsta='git stash push'
+  || alias gsta='git stash save'
+
 alias gstaa='git stash apply'
 alias gstc='git stash clear'
 alias gstd='git stash drop'