.forge/prs/aa9767cd-7852-4913-88e9-315578113d40/patch.diff 12.4 KiB 369 lines Raw
1 From 69016ee6a4c0e67182c43b7c0d0246f831da1db0 Mon Sep 17 00:00:00 20012 From: gl0w <gl0w@world>3 Date: Thu, 10 Sep 2026 07:12:21 +01004 Subject: [PATCH 1/2] m6/entrypoint-testfix: match POSIX-safe argv form5 6 ---7  .../merges/2026-09-10T06-11-44.077140678Z.md  |  9 +++8  .../patch.diff                                | 73 +++++++++++++++++++9  .../pr.md                                     | 12 +++10  tests/header_config.rs                        |  6 +-11  4 files changed, 98 insertions(+), 2 deletions(-)12  create mode 100644 .forge/merges/2026-09-10T06-11-44.077140678Z.md13  create mode 100644 .forge/prs/c1de23b1-1f96-42ea-8661-9468abf6409a/patch.diff14  create mode 100644 .forge/prs/c1de23b1-1f96-42ea-8661-9468abf6409a/pr.md15 16 diff --git a/.forge/merges/2026-09-10T06-11-44.077140678Z.md b/.forge/merges/2026-09-10T06-11-44.077140678Z.md17 new file mode 10064418 index 0000000..7345e5719 --- /dev/null20 +++ b/.forge/merges/2026-09-10T06-11-44.077140678Z.md21 @@ -0,0 +1,9 @@22 +---23 +pr: c1de23b1-1f96-42ea-8661-9468abf6409a24 +applied: false25 +verdict: fail26 +resolved: []27 +created: 2026-09-10T06:11:44.077140678Z28 +---29 +failed at 02_test.sh.30 +patch: 447b0de892e249edf47a7aaded277d93d25b1dd831 diff --git a/.forge/prs/c1de23b1-1f96-42ea-8661-9468abf6409a/patch.diff b/.forge/prs/c1de23b1-1f96-42ea-8661-9468abf6409a/patch.diff32 new file mode 10064433 index 0000000..1e3a84934 --- /dev/null35 +++ b/.forge/prs/c1de23b1-1f96-42ea-8661-9468abf6409a/patch.diff36 @@ -0,0 +1,73 @@37 +From aa2f0d1bc82722efe09d0ee0a471058775ff06ab Mon Sep 17 00:00:00 200138 +From: gl0w <gl0w@world>39 +Date: Thu, 10 Sep 2026 07:11:44 +010040 +Subject: [PATCH] m6/entrypoint: POSIX-safe argv (spaces/quotes in41 + name/description)42 +43 +---44 + entrypoint.sh | 31 +++++++++++++++----------------45 + 1 file changed, 15 insertions(+), 16 deletions(-)46 +47 +diff --git a/entrypoint.sh b/entrypoint.sh48 +index 6d4f149..191fbe9 10075549 +--- a/entrypoint.sh50 ++++ b/entrypoint.sh51 +@@ -26,40 +26,39 @@ set -eu52 + # build below would misreport "branch not found".53 + git config --global --add safe.directory /data/repo54 + 55 +-BUILD_ARGS=""56 ++# Build argv with "$@" (POSIX-safe: values with spaces/quotes survive).57 ++set -- /data/repo -o /srv/www58 + if [ -n "${HU13_BRANCH:-}" ]; then59 +-    BUILD_ARGS="$BUILD_ARGS --branch $HU13_BRANCH"60 ++    set -- "$@" --branch "$HU13_BRANCH"61 + fi62 + if [ -n "${HU13_CLONE_URL:-}" ]; then63 +-    BUILD_ARGS="$BUILD_ARGS --clone-url $HU13_CLONE_URL"64 ++    set -- "$@" --clone-url "$HU13_CLONE_URL"65 + fi66 + if [ -n "${HU13_REPO_NAME:-}" ]; then67 +-    BUILD_ARGS="$BUILD_ARGS --repo-name $HU13_REPO_NAME"68 ++    set -- "$@" --repo-name "$HU13_REPO_NAME"69 + fi70 + if [ -n "${HU13_DESCRIPTION:-}" ]; then71 +-    BUILD_ARGS="$BUILD_ARGS --description $HU13_DESCRIPTION"72 ++    set -- "$@" --description "$HU13_DESCRIPTION"73 + fi74 ++hu13 build "$@"75 + 76 +-# shellcheck disable=SC208677 +-hu13 build /data/repo -o /srv/www $BUILD_ARGS78 ++set -- --www /srv/www --inbox-dir /data/inbox \79 ++    --listen "${HU13_LISTEN:-0.0.0.0:39313}"80 + 81 +-SERVE_ARGS=""82 + if [ -n "${HU13_MAX_TITLE:-}" ]; then83 +-    SERVE_ARGS="$SERVE_ARGS --max-title $HU13_MAX_TITLE"84 ++    set -- "$@" --max-title "$HU13_MAX_TITLE"85 + fi86 + if [ -n "${HU13_MAX_BODY:-}" ]; then87 +-    SERVE_ARGS="$SERVE_ARGS --max-body $HU13_MAX_BODY"88 ++    set -- "$@" --max-body "$HU13_MAX_BODY"89 + fi90 + if [ -n "${HU13_MAX_BYTES:-}" ]; then91 +-    SERVE_ARGS="$SERVE_ARGS --max-bytes $HU13_MAX_BYTES"92 ++    set -- "$@" --max-bytes "$HU13_MAX_BYTES"93 + fi94 + if [ -n "${HU13_RATE_PER_HOUR:-}" ]; then95 +-    SERVE_ARGS="$SERVE_ARGS --rate-per-hour $HU13_RATE_PER_HOUR"96 ++    set -- "$@" --rate-per-hour "$HU13_RATE_PER_HOUR"97 + fi98 + if [ -n "${HU13_QUOTA:-}" ]; then99 +-    SERVE_ARGS="$SERVE_ARGS --quota $HU13_QUOTA"100 ++    set -- "$@" --quota "$HU13_QUOTA"101 + fi102 + 103 +-# shellcheck disable=SC2086104 +-exec hu13 serve --www /srv/www --inbox-dir /data/inbox \105 +-    --listen "${HU13_LISTEN:-0.0.0.0:39313}" $SERVE_ARGS106 ++exec hu13 serve "$@"107 +-- 108 +2.55.0109 +110 diff --git a/.forge/prs/c1de23b1-1f96-42ea-8661-9468abf6409a/pr.md b/.forge/prs/c1de23b1-1f96-42ea-8661-9468abf6409a/pr.md111 new file mode 100644112 index 0000000..43d0194113 --- /dev/null114 +++ b/.forge/prs/c1de23b1-1f96-42ea-8661-9468abf6409a/pr.md115 @@ -0,0 +1,12 @@116 +---117 +id: c1de23b1-1f96-42ea-8661-9468abf6409a118 +title: m6/entrypoint-quote119 +state: open120 +base: master121 +head: m6/entrypoint-quote122 +draft: false123 +issues: []124 +ci: fail125 +created: 2026-09-10T06:11:44.052625600Z126 +updated: 2026-09-10T06:11:56.573743204Z127 +---128 diff --git a/tests/header_config.rs b/tests/header_config.rs129 index ef81f20..374d829 100644130 --- a/tests/header_config.rs131 +++ b/tests/header_config.rs132 @@ -271,8 +271,10 @@ fn entrypoint_and_dockerfile_pass_both_envs() {133      for needle in [134          "HU13_REPO_NAME",135          "HU13_DESCRIPTION",136 -        "--repo-name $HU13_REPO_NAME",137 -        "--description $HU13_DESCRIPTION",138 +        "--repo-name",139 +        "--description",140 +        "\"$HU13_REPO_NAME\"",141 +        "\"$HU13_DESCRIPTION\"",142      ] {143          assert!(ep.contains(needle), "entrypoint passes {needle}");144      }145 -- 146 2.55.0147 148 149 From ced4a2b17ef99233ae5a44dc637829c280240f18 Mon Sep 17 00:00:00 2001150 From: gl0w <gl0w@world>151 Date: Thu, 10 Sep 2026 07:13:15 +0100152 Subject: [PATCH 2/2] m6/entrypoint-testfix: polish test matches argv form153 154 ---155  .../merges/2026-09-10T06-12-21.665260655Z.md  |   9 ++156  .../patch.diff                                | 147 ++++++++++++++++++157  .../pr.md                                     |  12 ++158  tests/polish.rs                               |   4 +-159  4 files changed, 170 insertions(+), 2 deletions(-)160  create mode 100644 .forge/merges/2026-09-10T06-12-21.665260655Z.md161  create mode 100644 .forge/prs/9a0d0b48-7cda-41e0-8cf1-48f63a38b1a4/patch.diff162  create mode 100644 .forge/prs/9a0d0b48-7cda-41e0-8cf1-48f63a38b1a4/pr.md163 164 diff --git a/.forge/merges/2026-09-10T06-12-21.665260655Z.md b/.forge/merges/2026-09-10T06-12-21.665260655Z.md165 new file mode 100644166 index 0000000..75c1647167 --- /dev/null168 +++ b/.forge/merges/2026-09-10T06-12-21.665260655Z.md169 @@ -0,0 +1,9 @@170 +---171 +pr: 9a0d0b48-7cda-41e0-8cf1-48f63a38b1a4172 +applied: false173 +verdict: fail174 +resolved: []175 +created: 2026-09-10T06:12:21.665260655Z176 +---177 +failed at 02_test.sh.178 +patch: 44d449bb8367f7114a0279f44b15548437c7f097179 diff --git a/.forge/prs/9a0d0b48-7cda-41e0-8cf1-48f63a38b1a4/patch.diff b/.forge/prs/9a0d0b48-7cda-41e0-8cf1-48f63a38b1a4/patch.diff180 new file mode 100644181 index 0000000..d54f43d182 --- /dev/null183 +++ b/.forge/prs/9a0d0b48-7cda-41e0-8cf1-48f63a38b1a4/patch.diff184 @@ -0,0 +1,147 @@185 +From 69016ee6a4c0e67182c43b7c0d0246f831da1db0 Mon Sep 17 00:00:00 2001186 +From: gl0w <gl0w@world>187 +Date: Thu, 10 Sep 2026 07:12:21 +0100188 +Subject: [PATCH] m6/entrypoint-testfix: match POSIX-safe argv form189 +190 +---191 + .../merges/2026-09-10T06-11-44.077140678Z.md  |  9 +++192 + .../patch.diff                                | 73 +++++++++++++++++++193 + .../pr.md                                     | 12 +++194 + tests/header_config.rs                        |  6 +-195 + 4 files changed, 98 insertions(+), 2 deletions(-)196 + create mode 100644 .forge/merges/2026-09-10T06-11-44.077140678Z.md197 + create mode 100644 .forge/prs/c1de23b1-1f96-42ea-8661-9468abf6409a/patch.diff198 + create mode 100644 .forge/prs/c1de23b1-1f96-42ea-8661-9468abf6409a/pr.md199 +200 +diff --git a/.forge/merges/2026-09-10T06-11-44.077140678Z.md b/.forge/merges/2026-09-10T06-11-44.077140678Z.md201 +new file mode 100644202 +index 0000000..7345e57203 +--- /dev/null204 ++++ b/.forge/merges/2026-09-10T06-11-44.077140678Z.md205 +@@ -0,0 +1,9 @@206 ++---207 ++pr: c1de23b1-1f96-42ea-8661-9468abf6409a208 ++applied: false209 ++verdict: fail210 ++resolved: []211 ++created: 2026-09-10T06:11:44.077140678Z212 ++---213 ++failed at 02_test.sh.214 ++patch: 447b0de892e249edf47a7aaded277d93d25b1dd8215 +diff --git a/.forge/prs/c1de23b1-1f96-42ea-8661-9468abf6409a/patch.diff b/.forge/prs/c1de23b1-1f96-42ea-8661-9468abf6409a/patch.diff216 +new file mode 100644217 +index 0000000..1e3a849218 +--- /dev/null219 ++++ b/.forge/prs/c1de23b1-1f96-42ea-8661-9468abf6409a/patch.diff220 +@@ -0,0 +1,73 @@221 ++From aa2f0d1bc82722efe09d0ee0a471058775ff06ab Mon Sep 17 00:00:00 2001222 ++From: gl0w <gl0w@world>223 ++Date: Thu, 10 Sep 2026 07:11:44 +0100224 ++Subject: [PATCH] m6/entrypoint: POSIX-safe argv (spaces/quotes in225 ++ name/description)226 ++227 ++---228 ++ entrypoint.sh | 31 +++++++++++++++----------------229 ++ 1 file changed, 15 insertions(+), 16 deletions(-)230 ++231 ++diff --git a/entrypoint.sh b/entrypoint.sh232 ++index 6d4f149..191fbe9 100755233 ++--- a/entrypoint.sh234 +++++ b/entrypoint.sh235 ++@@ -26,40 +26,39 @@ set -eu236 ++ # build below would misreport "branch not found".237 ++ git config --global --add safe.directory /data/repo238 ++ 239 ++-BUILD_ARGS=""240 +++# Build argv with "$@" (POSIX-safe: values with spaces/quotes survive).241 +++set -- /data/repo -o /srv/www242 ++ if [ -n "${HU13_BRANCH:-}" ]; then243 ++-    BUILD_ARGS="$BUILD_ARGS --branch $HU13_BRANCH"244 +++    set -- "$@" --branch "$HU13_BRANCH"245 ++ fi246 ++ if [ -n "${HU13_CLONE_URL:-}" ]; then247 ++-    BUILD_ARGS="$BUILD_ARGS --clone-url $HU13_CLONE_URL"248 +++    set -- "$@" --clone-url "$HU13_CLONE_URL"249 ++ fi250 ++ if [ -n "${HU13_REPO_NAME:-}" ]; then251 ++-    BUILD_ARGS="$BUILD_ARGS --repo-name $HU13_REPO_NAME"252 +++    set -- "$@" --repo-name "$HU13_REPO_NAME"253 ++ fi254 ++ if [ -n "${HU13_DESCRIPTION:-}" ]; then255 ++-    BUILD_ARGS="$BUILD_ARGS --description $HU13_DESCRIPTION"256 +++    set -- "$@" --description "$HU13_DESCRIPTION"257 ++ fi258 +++hu13 build "$@"259 ++ 260 ++-# shellcheck disable=SC2086261 ++-hu13 build /data/repo -o /srv/www $BUILD_ARGS262 +++set -- --www /srv/www --inbox-dir /data/inbox \263 +++    --listen "${HU13_LISTEN:-0.0.0.0:39313}"264 ++ 265 ++-SERVE_ARGS=""266 ++ if [ -n "${HU13_MAX_TITLE:-}" ]; then267 ++-    SERVE_ARGS="$SERVE_ARGS --max-title $HU13_MAX_TITLE"268 +++    set -- "$@" --max-title "$HU13_MAX_TITLE"269 ++ fi270 ++ if [ -n "${HU13_MAX_BODY:-}" ]; then271 ++-    SERVE_ARGS="$SERVE_ARGS --max-body $HU13_MAX_BODY"272 +++    set -- "$@" --max-body "$HU13_MAX_BODY"273 ++ fi274 ++ if [ -n "${HU13_MAX_BYTES:-}" ]; then275 ++-    SERVE_ARGS="$SERVE_ARGS --max-bytes $HU13_MAX_BYTES"276 +++    set -- "$@" --max-bytes "$HU13_MAX_BYTES"277 ++ fi278 ++ if [ -n "${HU13_RATE_PER_HOUR:-}" ]; then279 ++-    SERVE_ARGS="$SERVE_ARGS --rate-per-hour $HU13_RATE_PER_HOUR"280 +++    set -- "$@" --rate-per-hour "$HU13_RATE_PER_HOUR"281 ++ fi282 ++ if [ -n "${HU13_QUOTA:-}" ]; then283 ++-    SERVE_ARGS="$SERVE_ARGS --quota $HU13_QUOTA"284 +++    set -- "$@" --quota "$HU13_QUOTA"285 ++ fi286 ++ 287 ++-# shellcheck disable=SC2086288 ++-exec hu13 serve --www /srv/www --inbox-dir /data/inbox \289 ++-    --listen "${HU13_LISTEN:-0.0.0.0:39313}" $SERVE_ARGS290 +++exec hu13 serve "$@"291 ++-- 292 ++2.55.0293 ++294 +diff --git a/.forge/prs/c1de23b1-1f96-42ea-8661-9468abf6409a/pr.md b/.forge/prs/c1de23b1-1f96-42ea-8661-9468abf6409a/pr.md295 +new file mode 100644296 +index 0000000..43d0194297 +--- /dev/null298 ++++ b/.forge/prs/c1de23b1-1f96-42ea-8661-9468abf6409a/pr.md299 +@@ -0,0 +1,12 @@300 ++---301 ++id: c1de23b1-1f96-42ea-8661-9468abf6409a302 ++title: m6/entrypoint-quote303 ++state: open304 ++base: master305 ++head: m6/entrypoint-quote306 ++draft: false307 ++issues: []308 ++ci: fail309 ++created: 2026-09-10T06:11:44.052625600Z310 ++updated: 2026-09-10T06:11:56.573743204Z311 ++---312 +diff --git a/tests/header_config.rs b/tests/header_config.rs313 +index ef81f20..374d829 100644314 +--- a/tests/header_config.rs315 ++++ b/tests/header_config.rs316 +@@ -271,8 +271,10 @@ fn entrypoint_and_dockerfile_pass_both_envs() {317 +     for needle in [318 +         "HU13_REPO_NAME",319 +         "HU13_DESCRIPTION",320 +-        "--repo-name $HU13_REPO_NAME",321 +-        "--description $HU13_DESCRIPTION",322 ++        "--repo-name",323 ++        "--description",324 ++        "\"$HU13_REPO_NAME\"",325 ++        "\"$HU13_DESCRIPTION\"",326 +     ] {327 +         assert!(ep.contains(needle), "entrypoint passes {needle}");328 +     }329 +-- 330 +2.55.0331 +332 diff --git a/.forge/prs/9a0d0b48-7cda-41e0-8cf1-48f63a38b1a4/pr.md b/.forge/prs/9a0d0b48-7cda-41e0-8cf1-48f63a38b1a4/pr.md333 new file mode 100644334 index 0000000..2affdef335 --- /dev/null336 +++ b/.forge/prs/9a0d0b48-7cda-41e0-8cf1-48f63a38b1a4/pr.md337 @@ -0,0 +1,12 @@338 +---339 +id: 9a0d0b48-7cda-41e0-8cf1-48f63a38b1a4340 +title: m6/entrypoint-testfix341 +state: open342 +base: master343 +head: m6/entrypoint-testfix344 +draft: false345 +issues: []346 +ci: fail347 +created: 2026-09-10T06:12:21.642641147Z348 +updated: 2026-09-10T06:12:37.499922812Z349 +---350 diff --git a/tests/polish.rs b/tests/polish.rs351 index e71a09f..92f49f2 100644352 --- a/tests/polish.rs353 +++ b/tests/polish.rs354 @@ -267,10 +267,10 @@ fn entrypoint_syntax_checks() {355      let text = std::fs::read_to_string(&ep).expect("read entrypoint");356      for needle in [357          "set -eu",358 -        "hu13 build /data/repo -o /srv/www",359 +        "hu13 build",360          "HU13_BRANCH",361          "HU13_CLONE_URL",362 -        "exec hu13 serve --www /srv/www --inbox-dir /data/inbox",363 +        "exec hu13 serve",364          "0.0.0.0:39313",365          "safe.directory",366      ] {367 -- 368 2.55.0369