diff options
| author | Marc Cornellà <marc@mcornella.com> | 2023-10-25 19:47:10 +0200 | 
|---|---|---|
| committer | Marc Cornellà <marc@mcornella.com> | 2023-10-25 19:47:46 +0200 | 
| commit | 048455ccefdc67c4f137b8f7886769c55c2e5417 (patch) | |
| tree | 4ebc3c4bf925a91002b88558a9aa15f1fdb36c49 /plugins/git-commit/git-commit.plugin.zsh | |
| parent | 5c22c5812ec8b980d223b8252edc7759dd354014 (diff) | |
| download | zsh-048455ccefdc67c4f137b8f7886769c55c2e5417.tar.gz zsh-048455ccefdc67c4f137b8f7886769c55c2e5417.tar.bz2 zsh-048455ccefdc67c4f137b8f7886769c55c2e5417.zip | |
fix(git-commit): fix revert alias conflict (#12007)
Fixes #12007
Diffstat (limited to 'plugins/git-commit/git-commit.plugin.zsh')
| -rw-r--r-- | plugins/git-commit/git-commit.plugin.zsh | 24 | 
1 files changed, 14 insertions, 10 deletions
| diff --git a/plugins/git-commit/git-commit.plugin.zsh b/plugins/git-commit/git-commit.plugin.zsh index 4ad4c0177..72cecb1d6 100644 --- a/plugins/git-commit/git-commit.plugin.zsh +++ b/plugins/git-commit/git-commit.plugin.zsh @@ -1,9 +1,3 @@ -function _git_commit_register { -  if ! git config --global --get-all alias.$1 >/dev/null 2>&1; then -    git config --global alias.$1 '!a() { if [ "$1" = "-s" ] || [ "$1" = "--scope" ]; then local scope="$2"; shift 2; git commit -m "'$1'(${scope}): ${@}"; else git commit -m "'$1': ${@}"; fi }; a' -  fi -} -  local -a _git_commit_aliases  _git_commit_aliases=(    'build' @@ -19,9 +13,19 @@ _git_commit_aliases=(    'test'  ) -for _alias in "${_git_commit_aliases[@]}"; do -  _git_commit_register $_alias +local alias type +for type in "${_git_commit_aliases[@]}"; do +  # an alias can't be named "revert" because the git command takes precedence +  # https://stackoverflow.com/a/3538791 +  case "$type" in +  revert) alias=rev ;; +  *) alias=$type ;; +  esac + +  local func='!a() { if [ "$1" = "-s" ] || [ "$1" = "--scope" ]; then local scope="$2"; shift 2; git commit -m "'$type'(${scope}): ${@}"; else git commit -m "'$type': ${@}"; fi }; a' +  if ! git config --global --get-all alias.${alias} >/dev/null 2>&1; then +    git config --global alias.${alias} "$func" +  fi  done -unfunction _git_commit_register -unset _alias +unset _git_commit_aliases alias type func | 
