mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
Allow bump commands to auto-update core tap clones
This commit is contained in:
parent
1c081f379d
commit
55419bfd8b
@ -290,11 +290,31 @@ auto-update() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Skip auto-update if the Homebrew/brew repository has been checked in the
|
repo_fetch_heads=("${HOMEBREW_REPOSITORY}/.git/FETCH_HEAD")
|
||||||
|
# We might have done an auto-update recently, but not a core/cask clone auto-update.
|
||||||
|
# So we check the core/cask clone FETCH_HEAD too.
|
||||||
|
if [[ -n "${HOMEBREW_UPDATE_CORE_TAP}" && -d "${HOMEBREW_CORE_REPOSITORY}/.git" ]]
|
||||||
|
then
|
||||||
|
repo_fetch_heads+=("${HOMEBREW_CORE_REPOSITORY}/.git/FETCH_HEAD")
|
||||||
|
fi
|
||||||
|
if [[ -n "${HOMEBREW_UPDATE_CASK_TAP}" && -d "${HOMEBREW_CASK_REPOSITORY}/.git" ]]
|
||||||
|
then
|
||||||
|
repo_fetch_heads+=("${HOMEBREW_CASK_REPOSITORY}/.git/FETCH_HEAD")
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Skip auto-update if all of the selected repositories have been checked in the
|
||||||
# last $HOMEBREW_AUTO_UPDATE_SECS.
|
# last $HOMEBREW_AUTO_UPDATE_SECS.
|
||||||
repo_fetch_head="${HOMEBREW_REPOSITORY}/.git/FETCH_HEAD"
|
needs_auto_update=
|
||||||
if [[ -f "${repo_fetch_head}" ]] &&
|
for repo_fetch_head in "${repo_fetch_heads[@]}"
|
||||||
[[ -n "$(find "${repo_fetch_head}" -type f -mtime -"${HOMEBREW_AUTO_UPDATE_SECS}"s 2>/dev/null)" ]]
|
do
|
||||||
|
if [[ ! -f "${repo_fetch_head}" ]] ||
|
||||||
|
[[ -z "$(find "${repo_fetch_head}" -type f -mtime -"${HOMEBREW_AUTO_UPDATE_SECS}"s 2>/dev/null)" ]]
|
||||||
|
then
|
||||||
|
needs_auto_update=1
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [[ -z "${needs_auto_update}" ]]
|
||||||
then
|
then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
@ -323,6 +343,10 @@ auto-update() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
unset AUTO_UPDATE_COMMANDS
|
unset AUTO_UPDATE_COMMANDS
|
||||||
|
unset AUTO_UPDATE_CORE_TAP_COMMANDS
|
||||||
|
unset AUTO_UPDATE_CASK_TAP_COMMANDS
|
||||||
|
unset HOMEBREW_UPDATE_CORE_TAP
|
||||||
|
unset HOMEBREW_UPDATE_CASK_TAP
|
||||||
}
|
}
|
||||||
|
|
||||||
#####
|
#####
|
||||||
@ -807,13 +831,13 @@ then
|
|||||||
unset HOMEBREW_RUBY_WARNINGS
|
unset HOMEBREW_RUBY_WARNINGS
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
unset HOMEBREW_AUTO_UPDATE_COMMAND
|
||||||
|
|
||||||
# Check for commands that should call `brew update --auto-update` first.
|
# Check for commands that should call `brew update --auto-update` first.
|
||||||
AUTO_UPDATE_COMMANDS=(
|
AUTO_UPDATE_COMMANDS=(
|
||||||
install
|
install
|
||||||
outdated
|
outdated
|
||||||
upgrade
|
upgrade
|
||||||
bump-formula-pr
|
|
||||||
bump-cask-pr
|
|
||||||
bundle
|
bundle
|
||||||
release
|
release
|
||||||
)
|
)
|
||||||
@ -823,6 +847,28 @@ then
|
|||||||
export HOMEBREW_AUTO_UPDATE_COMMAND="1"
|
export HOMEBREW_AUTO_UPDATE_COMMAND="1"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Check for commands that should auto-update the homebrew-core tap.
|
||||||
|
AUTO_UPDATE_CORE_TAP_COMMANDS=(
|
||||||
|
bump
|
||||||
|
bump-formula-pr
|
||||||
|
)
|
||||||
|
if check-array-membership "${HOMEBREW_COMMAND}" "${AUTO_UPDATE_CORE_TAP_COMMANDS[@]}"
|
||||||
|
then
|
||||||
|
export HOMEBREW_AUTO_UPDATE_COMMAND="1"
|
||||||
|
export HOMEBREW_UPDATE_CORE_TAP="1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check for commands that should auto-update the homebrew-cask tap.
|
||||||
|
AUTO_UPDATE_CASK_TAP_COMMANDS=(
|
||||||
|
bump
|
||||||
|
bump-cask-pr
|
||||||
|
)
|
||||||
|
if check-array-membership "${HOMEBREW_COMMAND}" "${AUTO_UPDATE_CASK_TAP_COMMANDS[@]}"
|
||||||
|
then
|
||||||
|
export HOMEBREW_AUTO_UPDATE_COMMAND="1"
|
||||||
|
export HOMEBREW_UPDATE_CASK_TAP="1"
|
||||||
|
fi
|
||||||
|
|
||||||
# Disable Ruby options we don't need.
|
# Disable Ruby options we don't need.
|
||||||
export HOMEBREW_RUBY_DISABLE_OPTIONS="--disable=gems,rubyopt"
|
export HOMEBREW_RUBY_DISABLE_OPTIONS="--disable=gems,rubyopt"
|
||||||
|
|
||||||
|
@ -575,7 +575,8 @@ EOS
|
|||||||
for DIR in "${HOMEBREW_REPOSITORY}" "${HOMEBREW_LIBRARY}"/Taps/*/*
|
for DIR in "${HOMEBREW_REPOSITORY}" "${HOMEBREW_LIBRARY}"/Taps/*/*
|
||||||
do
|
do
|
||||||
if [[ -z "${HOMEBREW_NO_INSTALL_FROM_API}" && -n "${HOMEBREW_UPDATE_AUTO}" ]] &&
|
if [[ -z "${HOMEBREW_NO_INSTALL_FROM_API}" && -n "${HOMEBREW_UPDATE_AUTO}" ]] &&
|
||||||
[[ "${DIR}" == "${HOMEBREW_CORE_REPOSITORY}" || "${DIR}" == "${HOMEBREW_CASK_REPOSITORY}" ]]
|
[[ ("${DIR}" == "${HOMEBREW_CORE_REPOSITORY}" && -z "${HOMEBREW_UPDATE_CORE_TAP}") ||
|
||||||
|
("${DIR}" == "${HOMEBREW_CASK_REPOSITORY}" && -z "${HOMEBREW_UPDATE_CASK_TAP}") ]]
|
||||||
then
|
then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
@ -731,8 +732,8 @@ EOS
|
|||||||
do
|
do
|
||||||
if [[ -z "${HOMEBREW_NO_INSTALL_FROM_API}" ]] &&
|
if [[ -z "${HOMEBREW_NO_INSTALL_FROM_API}" ]] &&
|
||||||
[[ -z "${HOMEBREW_DEVELOPER}" || -n "${HOMEBREW_UPDATE_AUTO}" ]] &&
|
[[ -z "${HOMEBREW_DEVELOPER}" || -n "${HOMEBREW_UPDATE_AUTO}" ]] &&
|
||||||
[[ "${DIR}" == "${HOMEBREW_CORE_REPOSITORY}" ||
|
[[ ("${DIR}" == "${HOMEBREW_CORE_REPOSITORY}" && -z "${HOMEBREW_UPDATE_CORE_TAP}") ||
|
||||||
"${DIR}" == "${HOMEBREW_CASK_REPOSITORY}" ]]
|
("${DIR}" == "${HOMEBREW_CASK_REPOSITORY}" && -z "${HOMEBREW_UPDATE_CASK_TAP}") ]]
|
||||||
then
|
then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
Loading…
x
Reference in New Issue
Block a user