Merge commit '9a4bbcd930afa54bc605e3020fb38353161e5a84'

pull/778/head
romkatv 5 years ago
commit 619ddaf6f1

@ -56,9 +56,12 @@ appname=gitstatusd-"$gitstatus_kernel"-"$gitstatus_arch"
libgit2_tmp="$outdir"/deps/"$appname".libgit2.tmp libgit2_tmp="$outdir"/deps/"$appname".libgit2.tmp
cleanup() { cleanup() {
trap - INT QUIT TERM ILL PIPE
cd / cd /
if ! command rm -rf -- "$workdir" "$outdir"/usrbin/"$appname".tmp "$libgit2_tmp"; then
command sleep 5
command rm -rf -- "$workdir" "$outdir"/usrbin/"$appname".tmp "$libgit2_tmp" command rm -rf -- "$workdir" "$outdir"/usrbin/"$appname".tmp "$libgit2_tmp"
trap - INT QUIT TERM ILL PIPE fi
} }
trap cleanup INT QUIT TERM ILL PIPE trap cleanup INT QUIT TERM ILL PIPE

@ -225,6 +225,7 @@ function gitstatus_start() {
} }
if ! gitstatus_start_impl; then if ! gitstatus_start_impl; then
echo "" >&2
echo "gitstatus_start: failed to start gitstatusd" >&2 echo "gitstatus_start: failed to start gitstatusd" >&2
[[ -z "${req_fifo:-}" ]] || command rm -f "$req_fifo" [[ -z "${req_fifo:-}" ]] || command rm -f "$req_fifo"
[[ -z "${resp_fifo:-}" ]] || command rm -f "$resp_fifo" [[ -z "${resp_fifo:-}" ]] || command rm -f "$resp_fifo"

@ -725,60 +725,46 @@ function gitstatus_start"${1:-}"() {
gitstatus_stop$fsuf $name gitstatus_stop$fsuf $name
setopt prompt_percent no_prompt_subst no_prompt_bang setopt prompt_percent no_prompt_subst no_prompt_bang
(( $+functions[p10k] )) && p10k clear-instant-prompt
print -ru2 -- '' print -ru2 -- ''
print -Pru2 -- '[%F{red}ERROR%f]: gitstatus failed to initialize.' print -Pru2 -- '[%F{red}ERROR%f]: gitstatus failed to initialize.'
print -ru2 -- '' print -ru2 -- ''
print -ru2 -- ' Your Git prompt may disappear or become slow.' print -ru2 -- ' Your Git prompt may disappear or become slow.'
if [[ -s $xtrace ]]; then if [[ -s $xtrace ]]; then
print -ru2 -- '' print -ru2 -- ''
print -ru2 -- " The content of ${(q-)xtrace} (gitstatus_start xtrace):" print -Pru2 -- " Zsh log (%U${xtrace//\%/%%}%u):"
print -Pru2 -- '%F{yellow}' print -Pru2 -- '%F{yellow}'
>&2 awk '{print " " $0}' <$xtrace print -lru2 -- "${(@)${(@f)$(<$xtrace)}/#/ }"
print -Pru2 -- " %F{red}^ this command failed ($err)%f" print -Pru2 -- " %F{red}^ this command failed ($err)%f"
fi fi
if [[ -s $daemon_log ]]; then if [[ -s $daemon_log ]]; then
print -ru2 -- '' print -ru2 -- ''
print -ru2 -- " The content of ${(q-)daemon_log} (gitstatus daemon log):" print -Pru2 -- " Daemon log (%U${daemon_log//\%/%%}%u):"
print -Pru2 -- '%F{yellow}' print -Pru2 -- '%F{yellow}'
>&2 awk '{print " " $0}' <$daemon_log print -lru2 -- "${(@)${(@f)$(<$daemon_log)}/#/ }"
print -Pnru2 -- '%f' print -Pnru2 -- '%f'
fi fi
if [[ $GITSTATUS_LOG_LEVEL == DEBUG ]]; then if [[ $GITSTATUS_LOG_LEVEL == DEBUG ]]; then
print -ru2 -- '' print -ru2 -- ''
print -ru2 -- ' Your system information:' print -ru2 -- ' System information:'
print -Pru2 -- '%F{yellow}' print -Pru2 -- '%F{yellow}'
print -ru2 -- " zsh: $ZSH_VERSION" print -ru2 -- " zsh: $ZSH_VERSION"
print -ru2 -- " uname -a: $(uname -a)" print -ru2 -- " uname -a: $(uname -a)"
print -Pru2 -- '%f' print -Pru2 -- '%f'
print -ru2 -- ' If you need help, open an issue and attach this whole error message to it:' print -ru2 -- ' If you need help, open an issue and attach this whole error message to it:'
print -ru2 -- '' print -ru2 -- ''
print -Pru2 -- ' %F{green}https://github.com/romkatv/gitstatus/issues/new%f' print -Pru2 -- ' %Uhttps://github.com/romkatv/gitstatus/issues/new%u'
else else
print -ru2 -- '' print -ru2 -- ''
print -ru2 -- ' Run the following command to retry with extra diagnostics:' local home=~
print -Pru2 -- '%F{green}' local zshrc=${${${(q)${ZDOTDIR:-~}}/#${(q)home}/'~'}//\%/%%}/.zshrc
local env="GITSTATUS_LOG_LEVEL=DEBUG" print -Pru2 -- " Add the following parameter to %U$zshrc%u for extra diagnostics on error:"
if [[ -n $GITSTATUS_NUM_THREADS ]]; then
env+=" GITSTATUS_NUM_THREADS=${(q)GITSTATUS_NUM_THREADS}"
fi
if [[ -n $GITSTATUS_DAEMON ]]; then
env+=" GITSTATUS_DAEMON=${(q)GITSTATUS_DAEMON}"
fi
if [[ -n $GITSTATUS_AUTO_INSTALL ]]; then
env+=" GITSTATUS_AUTO_INSTALL=${(q)GITSTATUS_AUTO_INSTALL}"
fi
if [[ -n $GITSTATUS_CACHE_DIR ]]; then
env+=" GITSTATUS_CACHE_DIR=${(q)GITSTATUS_CACHE_DIR}"
fi
print -nru2 -- " ${env} gitstatus_start ${(@q-)*}"
print -Pru2 -- '%f'
print -ru2 -- '' print -ru2 -- ''
local zshrc=${(D)ZDOTDIR:-~}/.zshrc print -Pru2 -- ' %BGITSTATUS_LOG_LEVEL=DEBUG%b'
print -ru2 -- " If this command produces no output, add the following parameter to $zshrc:"
print -ru2 -- '' print -ru2 -- ''
print -Pru2 -- '%F{green} GITSTATUS_LOG_LEVEL=DEBUG%f' print -ru2 -- ' Restart Zsh to retry gitstatus initialization:'
print -ru2 -- '' print -ru2 -- ''
print -ru2 -- ' With this parameter gitstatus will print additional information on error.' print -Pru2 -- ' %F{green}%Uexec%u zsh%f'
fi fi
} }
} }

@ -151,7 +151,7 @@ done
shift $((OPTIND - 1)) shift $((OPTIND - 1))
(( $# )) || set -- ${(k)assets} (( $# )) || set -- ${(ko)assets}
set -- ${(u)@} set -- ${(u)@}
local platform local platform
@ -200,15 +200,22 @@ function build-windows() {
local tmp env bin intro flags=(-w) local tmp env bin intro flags=(-w)
case $2 in case $2 in
msys_nt-10.0-i686) bin='msys32/usr/bin';|
msys_nt-10.0-x86_64) bin='msys64/usr/bin';|
cygwin_nt-10.0-i686) bin='cygwin32/bin' ;| cygwin_nt-10.0-i686) bin='cygwin32/bin' ;|
cygwin_nt-10.0-x86_64) bin='cygwin64/bin' ;| cygwin_nt-10.0-x86_64) bin='cygwin64/bin' ;|
msys_nt-10.0-i686) bin='msys32/usr/bin';|
msys_nt-10.0-x86_64) bin='msys64/usr/bin';|
cygwin_nt-10.0-*)
tmp='/cygdrive/c/tmp'
;|
msys_nt-10.0-*) msys_nt-10.0-*)
flags+=(-s) flags+=(-s)
tmp='/c/tmp' tmp='/c/tmp'
env='MSYSTEM=MSYS' env='MSYSTEM=MSYS'
intro='pacman -Syu --noconfirm; pacman -S --needed --noconfirm git; '
intro+='PATH="$PATH:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl"'
while true; do while true; do
# TODO: run autorebase only when getting an error that can be fixed by autorebasing.
break
local out local out
out="$(ssh $1 cmd.exe "$c/${bin%%/*}/autorebase.bat" 2>&1)" out="$(ssh $1 cmd.exe "$c/${bin%%/*}/autorebase.bat" 2>&1)"
[[ $out == *"The following DLLs couldn't be rebased"* ]] || break [[ $out == *"The following DLLs couldn't be rebased"* ]] || break
@ -243,12 +250,7 @@ function build-windows() {
} }
done done
} "$@" } "$@"
intro='pacman -Syu --noconfirm; pacman -S --needed --noconfirm git; ' ;|
intro+='PATH="$PATH:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl"'
;;
cygwin_nt-10.0-*)
tmp='/cygdrive/c/tmp'
;;
esac esac
ssh $1 $c/$bin/env.exe $env c:/$bin/bash.exe -l <<<" ssh $1 $c/$bin/env.exe $env c:/$bin/bash.exe -l <<<"

Loading…
Cancel
Save