Squashed 'gitstatus/' changes from d3bc3e34..901c366b

901c366b survive `cd` being a function that fails instead of doing its job; see #123

git-subtree-dir: gitstatus
git-subtree-split: 901c366b8ecb736e579784b132442ee51bcb0840
This commit is contained in:
romkatv 2020-05-11 19:27:10 +02:00
parent 1db7094966
commit bda74564e3
1 changed files with 21 additions and 22 deletions

43
install
View File

@ -205,31 +205,30 @@ END
[ -d "$cache_dir" ] || mkdir -p -- "$cache_dir" || return
local url="https://github.com/romkatv/gitstatus/releases/download/$version/$file.tar.gz"
local archive="$cache_dir"/"$file".tmp.$$.tar.gz
if command -v curl >/dev/null 2>&1; then
# `cd` is a workaround for Cygwin. It cannot handle -o with slashes.
if ! err="$(cd ${ZSH_VERSION:+-q} -- "$cache_dir" 2>&1 &&
command curl -fsSLo "${archive##*/}" -- "$url" 2>&1)"; then
>&2 printf "%s\n" "$err"
>&2 echo "[gitstatus] error: failed to download gitstatusd: $url"
return 1
fi
elif command -v wget >/dev/null 2>&1; then
if ! err="$(command wget -O "$archive" -- "$url" 2>&1)"; then
>&2 printf "%s\n" "$err"
>&2 echo "[gitstatus] error: failed to download gitstatusd: $url"
return 1
fi
else
>&2 echo "[gitstatus] error: please install curl or wget"
return 1
fi
(
if [ -n "${ZSH_VERSION:-}" ]; then
builtin cd -q -- "$cache_dir" || return
builtin cd -q -- "$cache_dir" || exit
else
cd -- "$cache_dir" || return
cd -- "$cache_dir" || exit
fi
local archive="$file".tmp.$$.tar.gz
local err
if command -v curl >/dev/null 2>&1; then
err="$(command curl -fsSLo "$archive" -- "$url" 2>&1)"
elif command -v wget >/dev/null 2>&1; then
err="$(command wget -O "$archive" -- "$url" 2>&1)"
else
>&2 echo "[gitstatus] error: please install curl or wget"
exit 1
fi
if [ $? != 0 ]; then
>&2 printf "%s\n" "$err"
>&2 echo "[gitstatus] error: failed to download gitstatusd: $url"
exit 1
fi
local old=
@ -240,7 +239,7 @@ END
[ -e "$old" ] || break
i="$((i+1))"
done
command mv -f -- "$daemon" "$old" || return
command mv -f -- "$daemon" "$old" || exit
fi
command tar -xzf "$archive"