Update run.sh
This commit is contained in:
@@ -8,7 +8,9 @@ source /opt/idssys/ta-proxmenu/defaults.inc
|
||||
SWITCH_TO_V2() {
|
||||
local repository='/opt/idssys/ta-proxmenu'
|
||||
local current_branch
|
||||
local head_commit
|
||||
local local_commit
|
||||
local main_commit
|
||||
local remote_commit
|
||||
|
||||
if [[ ! -d "${repository}/.git" ]]; then
|
||||
@@ -17,10 +19,6 @@ SWITCH_TO_V2() {
|
||||
fi
|
||||
|
||||
current_branch="$(git -C "$repository" branch --show-current 2>/dev/null)"
|
||||
if [[ -z "$current_branch" ]]; then
|
||||
echo -e "${idsCL[Red]}TA-ProxMenu is in a detached HEAD state; branch switching was refused.${idsCL[Default]}"
|
||||
return 1
|
||||
fi
|
||||
if [[ "$current_branch" == "V2" ]]; then
|
||||
exec /opt/idssys/ta-proxmenu/run.sh
|
||||
fi
|
||||
@@ -32,11 +30,23 @@ SWITCH_TO_V2() {
|
||||
|
||||
echo -e "${idsCL[LightCyan]}Fetching TA-ProxMenu branch 'V2'...${idsCL[Default]}"
|
||||
if ! timeout 30 git -C "$repository" fetch --prune origin \
|
||||
'+refs/heads/main:refs/remotes/origin/main' \
|
||||
'+refs/heads/V2:refs/remotes/origin/V2' >/dev/null 2>&1; then
|
||||
echo -e "${idsCL[Red]}Could not fetch branch 'V2' from origin.${idsCL[Default]}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [[ -z "$current_branch" ]]; then
|
||||
head_commit="$(git -C "$repository" rev-parse --verify 'HEAD^{commit}' 2>/dev/null)"
|
||||
main_commit="$(git -C "$repository" rev-parse --verify \
|
||||
'refs/remotes/origin/main^{commit}' 2>/dev/null)"
|
||||
if [[ -z "$head_commit" || "$head_commit" != "$main_commit" ]]; then
|
||||
echo -e "${idsCL[Red]}TA-ProxMenu has an unrecognized detached HEAD; branch switching was refused.${idsCL[Default]}"
|
||||
return 1
|
||||
fi
|
||||
echo -e "${idsCL[LightCyan]}Recovered the legacy updater's detached main checkout.${idsCL[Default]}"
|
||||
fi
|
||||
|
||||
remote_commit="$(git -C "$repository" rev-parse --verify \
|
||||
'refs/remotes/origin/V2^{commit}' 2>/dev/null)" || {
|
||||
echo -e "${idsCL[Red]}Origin does not provide a usable V2 branch.${idsCL[Default]}"
|
||||
|
||||
Reference in New Issue
Block a user