Implement a locking mechanism to avoid multiple update prompts (fixes #3766)
This commit is contained in:
parent
6d975f7258
commit
40bfe5a412
@ -29,31 +29,36 @@ fi
|
|||||||
# Cancel upgrade if git is unavailable on the system
|
# Cancel upgrade if git is unavailable on the system
|
||||||
whence git >/dev/null || return 0
|
whence git >/dev/null || return 0
|
||||||
|
|
||||||
if [ -f ~/.zsh-update ]
|
if mkdir "$ZSH/log/update.lock" 2>/dev/null
|
||||||
then
|
then
|
||||||
. ~/.zsh-update
|
if [ -f ~/.zsh-update ]
|
||||||
|
|
||||||
if [[ -z "$LAST_EPOCH" ]]; then
|
|
||||||
_update_zsh_update && return 0;
|
|
||||||
fi
|
|
||||||
|
|
||||||
epoch_diff=$(($(_current_epoch) - $LAST_EPOCH))
|
|
||||||
if [ $epoch_diff -gt $epoch_target ]
|
|
||||||
then
|
then
|
||||||
if [ "$DISABLE_UPDATE_PROMPT" = "true" ]
|
. ~/.zsh-update
|
||||||
|
|
||||||
|
if [[ -z "$LAST_EPOCH" ]]; then
|
||||||
|
_update_zsh_update && return 0;
|
||||||
|
fi
|
||||||
|
|
||||||
|
epoch_diff=$(($(_current_epoch) - $LAST_EPOCH))
|
||||||
|
if [ $epoch_diff -gt $epoch_target ]
|
||||||
then
|
then
|
||||||
_upgrade_zsh
|
if [ "$DISABLE_UPDATE_PROMPT" = "true" ]
|
||||||
else
|
then
|
||||||
echo "[Oh My Zsh] Would you like to check for updates? [Y/n]: \c"
|
|
||||||
read line
|
|
||||||
if [[ "$line" == Y* ]] || [[ "$line" == y* ]] || [ -z "$line" ]; then
|
|
||||||
_upgrade_zsh
|
_upgrade_zsh
|
||||||
else
|
else
|
||||||
_update_zsh_update
|
echo "[Oh My Zsh] Would you like to check for updates? [Y/n]: \c"
|
||||||
|
read line
|
||||||
|
if [[ "$line" == Y* ]] || [[ "$line" == y* ]] || [ -z "$line" ]; then
|
||||||
|
_upgrade_zsh
|
||||||
|
else
|
||||||
|
_update_zsh_update
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
# create the zsh file
|
||||||
|
_update_zsh_update
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
# create the zsh file
|
rm -r $ZSH/log/update.lock
|
||||||
_update_zsh_update
|
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user