Simplify git-config calls
This commit is contained in:
parent
2bee82dc2a
commit
39a793af0a
2 changed files with 5 additions and 10 deletions
|
@ -17,17 +17,15 @@ _arguments -C -s -S \
|
|||
|
||||
case "$state" in
|
||||
(remote)
|
||||
remotes=($(
|
||||
git config --local --get-regexp 'remote.*.url' \
|
||||
| awk 'BEGIN {FS="."} ; {print $2}'
|
||||
))
|
||||
remotes=($(git config --get-regexp 'remote.*.url' | cut -d. -f2))
|
||||
|
||||
_describe -t branch 'remotes' remotes && ret=0
|
||||
;;
|
||||
(branch-or-tag)
|
||||
remote="$words[(($CURRENT - 1))]"
|
||||
|
||||
branches_or_tags=($(
|
||||
git ls-remote --heads --tags "$remote" | awk '{print $2}'
|
||||
git ls-remote --heads --tags "$remote" 2>/dev/null | cut -f2
|
||||
))
|
||||
|
||||
branches=(HEAD ${${(M)branches_or_tags[@]##refs/heads/?##}##refs/heads/})
|
||||
|
|
|
@ -8,10 +8,7 @@
|
|||
local remotes remote references reference file url
|
||||
|
||||
remote="${1:-origin}"
|
||||
remotes=($(
|
||||
git config --local --get-regexp 'remote.*.url' \
|
||||
| awk 'BEGIN {FS="."} ; {print $2}'
|
||||
))
|
||||
remotes=($(git config --get-regexp 'remote.*.url' | cut -d. -f2))
|
||||
|
||||
if (( $remotes[(i)$remote] == $#remotes + 1 )); then
|
||||
print "$0: remote not found: $remote" >&2
|
||||
|
@ -19,7 +16,7 @@ if (( $remotes[(i)$remote] == $#remotes + 1 )); then
|
|||
fi
|
||||
|
||||
url=$(
|
||||
git config --local --get "remote.${remote}.url" \
|
||||
git config --get "remote.${remote}.url" \
|
||||
| sed -En "s/(git|https?)(@|:\/\/)github.com(:|\/)(.+)\/(.+).git/https:\/\/github.com\/\4\/\5/p"
|
||||
)
|
||||
|
||||
|
|
Loading…
Reference in a new issue