fix(update.sh): stop config sync loop from dying silently on a missing key
current=$(grep ...) ran before checking whether the key existed in .env at all. Under set -euo pipefail, a key missing from .env (e.g. a new tunable this branch just added to .env.example) made that grep exit 1, pipefail propagated it, and set -e killed the script instantly with no output - looked exactly like a gum hang but never reached ensure_gum. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bs8xf8Dt8X6tRBvBiLCXYc
This commit is contained in:
+4
-2
@@ -93,10 +93,12 @@ conflict_old=()
|
|||||||
conflict_new=()
|
conflict_new=()
|
||||||
while IFS='=' read -r key value; do
|
while IFS='=' read -r key value; do
|
||||||
[ -n "$value" ] || continue
|
[ -n "$value" ] || continue
|
||||||
current="$(grep -E "^${key}=" .env | head -1 | cut -d= -f2-)"
|
|
||||||
if ! grep -qE "^${key}=" .env; then
|
if ! grep -qE "^${key}=" .env; then
|
||||||
echo "${key}=${value}" >> .env
|
echo "${key}=${value}" >> .env
|
||||||
elif [ "$current" != "$value" ]; then
|
continue
|
||||||
|
fi
|
||||||
|
current="$(grep -E "^${key}=" .env | head -1 | cut -d= -f2-)"
|
||||||
|
if [ "$current" != "$value" ]; then
|
||||||
conflict_keys+=("$key")
|
conflict_keys+=("$key")
|
||||||
conflict_old+=("$current")
|
conflict_old+=("$current")
|
||||||
conflict_new+=("$value")
|
conflict_new+=("$value")
|
||||||
|
|||||||
Reference in New Issue
Block a user