From ebd0a9c617f4b63ff8775d18e659a7f6353edf09 Mon Sep 17 00:00:00 2001 From: Kjell Tore Guttormsen Date: Thu, 18 Jun 2026 05:49:47 +0200 Subject: [PATCH] =?UTF-8?q?docs(migration):=20brace=20${key}=20in=20run-op?= =?UTF-8?q?erator-window=20=E2=80=94=20bash=205.3=20absorbed=20the=20ellip?= =?UTF-8?q?sis=20byte=20into=20the=20var=20name=20under=20set=20-u?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The pilot died at line 93 with 'key: unbound variable': $key glued to the U+2026 ellipsis let bash 5.3.9 read the multibyte byte as part of the name. Braced to ${key}…; proven on /usr/local/bin/bash (repro + fixed form + bash -n). Nothing was mutated on Forgejo — it failed before the [b] repo-create POST. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../migration/run-operator-window.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/marketplace-polyrepo-migration/migration/run-operator-window.sh b/docs/marketplace-polyrepo-migration/migration/run-operator-window.sh index 3073439..3936b2d 100644 --- a/docs/marketplace-polyrepo-migration/migration/run-operator-window.sh +++ b/docs/marketplace-polyrepo-migration/migration/run-operator-window.sh @@ -90,7 +90,7 @@ rollout_one() { fi # (b) create the Forgejo repo (201 created | 409 already exists) - say " [b] create repo open/$key…" + say " [b] create repo open/${key}…" body="$(mktemp)" code="$(curl -sS -o "$body" -w '%{http_code}' -X POST "$API/orgs/open/repos" \ -H "Authorization: token $FORGEJO_TOKEN" -H "Content-Type: application/json" \