Skip to content

Commit be25526

Browse files
authored
Refactor release fetching and version checking logic (#7299)
1 parent c8d969d commit be25526

File tree

1 file changed

+3
-12
lines changed

1 file changed

+3
-12
lines changed

misc/tools.func

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1965,7 +1965,7 @@ check_for_gh_release() {
19651965
fi
19661966

19671967
# Fetch releases (newest → oldest)
1968-
local releases=""
1968+
local releases
19691969
releases=$(
19701970
curl -fsSL --max-time 15 \
19711971
-H 'Accept: application/vnd.github+json' \
@@ -1983,18 +1983,13 @@ check_for_gh_release() {
19831983
local latest current
19841984
latest=$(echo "$releases" | head -n1)
19851985
current=""
1986-
if [[ -f "$current_file" ]]; then
1987-
current="$(<"$current_file")"
1988-
fi
1986+
[[ -f "$current_file" ]] && current="$(<"$current_file")"
19891987

19901988
# Helper: get index of a version (lower = newer)
19911989
get_index() {
19921990
local ver="${1:-}"
19931991
[[ -z "$ver" ]] && return 1
1994-
local idx
1995-
idx=$(nl -ba <<<"$releases" | awk -v v="$ver" '$2==v{print $1; exit}')
1996-
[[ -n "$idx" ]] || return 1
1997-
echo "$idx"
1992+
nl -ba <<<"$releases" | awk -v v="$ver" '$2==v{print $1; exit}'
19981993
}
19991994

20001995
# Pinning enabled
@@ -2007,7 +2002,6 @@ check_for_gh_release() {
20072002
if [[ -z "$current" ]]; then
20082003
msg_info "${app} pinned to v${pinned_version}, no local version → install required"
20092004
CHECK_UPDATE_RELEASE="$pinned_version"
2010-
touch "$current_file"
20112005
return 0
20122006
fi
20132007

@@ -2027,14 +2021,12 @@ check_for_gh_release() {
20272021
if [[ -z "$current_index" ]] || [[ "$current_index" -gt "$pinned_index" ]]; then
20282022
msg_info "${app} pinned to v${pinned_version} (installed v${current:-none}) → update required"
20292023
CHECK_UPDATE_RELEASE="$pinned_version"
2030-
: >"$current_file"
20312024
return 0
20322025
fi
20332026

20342027
if [[ "$current_index" -lt "$pinned_index" ]]; then
20352028
msg_info "${app} pinned to v${pinned_version} (installed newer v${current}) → downgrade required"
20362029
CHECK_UPDATE_RELEASE="$pinned_version"
2037-
: >"$current_file"
20382030
return 0
20392031
fi
20402032

@@ -2045,7 +2037,6 @@ check_for_gh_release() {
20452037
if [[ -z "$current" || "$current" != "$latest" ]]; then
20462038
CHECK_UPDATE_RELEASE="$latest"
20472039
msg_info "New release available: v${latest} (current: v${current:-none})"
2048-
: >"$current_file"
20492040
return 0
20502041
fi
20512042

0 commit comments

Comments
 (0)