This commit is contained in:
Alvin Hsieh 2026-01-29 15:51:22 -06:00 committed by GitHub
commit 572866cb85
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -124,7 +124,7 @@ upsert_env() {
local -a keys=("$@") local -a keys=("$@")
local tmp local tmp
tmp="$(mktemp)" tmp="$(mktemp)"
declare -A seen=() local seen_keys=""
if [[ -f "$file" ]]; then if [[ -f "$file" ]]; then
while IFS= read -r line || [[ -n "$line" ]]; do while IFS= read -r line || [[ -n "$line" ]]; do
@ -133,7 +133,7 @@ upsert_env() {
for k in "${keys[@]}"; do for k in "${keys[@]}"; do
if [[ "$key" == "$k" ]]; then if [[ "$key" == "$k" ]]; then
printf '%s=%s\n' "$k" "${!k-}" >>"$tmp" printf '%s=%s\n' "$k" "${!k-}" >>"$tmp"
seen["$k"]=1 seen_keys="${seen_keys}${k};"
replaced=true replaced=true
break break
fi fi
@ -145,7 +145,7 @@ upsert_env() {
fi fi
for k in "${keys[@]}"; do for k in "${keys[@]}"; do
if [[ -z "${seen[$k]:-}" ]]; then if [[ "$seen_keys" != *"${k};"* ]]; then
printf '%s=%s\n' "$k" "${!k-}" >>"$tmp" printf '%s=%s\n' "$k" "${!k-}" >>"$tmp"
fi fi
done done