@ -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
(
if [ -n "${ZSH_VERSION:-}" ]; then
builtin cd -q -- "$cache_dir" || exit
else
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
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
err="$(command wget -O "$archive" -- "$url" 2>&1)"
else
>&2 echo "[gitstatus] error: please install curl or wget"
return 1
exit 1
fi
(
if [ -n "${ZSH_VERSION:-}" ]; then
builtin cd -q -- "$cache_dir" || return
else
cd -- "$cache_dir" || return
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" || r eturn
command mv -f -- "$daemon" "$old" || exi t
fi
command tar -xzf "$archive"