浏览代码

fix(cli): avoid `git -C` for compatibility with git < v1.8.5 (#10404)

Marc Cornellà 2 年之前
父节点
当前提交
1d166eaaa1
共有 1 个文件被更改,包括 7 次插入4 次删除
  1. 7 4
      lib/cli.zsh

+ 7 - 4
lib/cli.zsh

@@ -36,7 +36,7 @@ function _omz {
   elif (( CURRENT == 3 )); then
     case "$words[2]" in
       changelog) local -a refs
-        refs=("${(@f)$(command git -C "$ZSH" for-each-ref --format="%(refname:short):%(subject)" refs/heads refs/tags)}")
+        refs=("${(@f)$(cd "$ZSH"; command git for-each-ref --format="%(refname:short):%(subject)" refs/heads refs/tags)}")
         _describe 'command' refs ;;
       plugin) subcmds=(
         'disable:Disable plugin(s)'
@@ -171,9 +171,12 @@ EOF
 function _omz::changelog {
   local version=${1:-HEAD} format=${3:-"--text"}
 
-  if ! command git -C "$ZSH" show-ref --verify refs/heads/$version &>/dev/null && \
-    ! command git -C "$ZSH" show-ref --verify refs/tags/$version &>/dev/null && \
-    ! command git -C "$ZSH" rev-parse --verify "${version}^{commit}" &>/dev/null; then
+  if (
+    cd "$ZSH"
+    ! command git show-ref --verify refs/heads/$version && \
+    ! command git show-ref --verify refs/tags/$version && \
+    ! command git rev-parse --verify "${version}^{commit}"
+  ) &>/dev/null; then
     cat >&2 <<EOF
 Usage: omz changelog [version]