fix: awk-Range-Pattern liefert immer leeren Release-Body (jeder Forgejo-Release betroffen) #1
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
Reviewed/Confirmed
Reviewed/Duplicate
Reviewed/Invalid
Reviewed/Won't Fix
Status/Abandoned
Status/Blocked
Status/Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
holm.tools.public/release#1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
██░░░░░░░░█████████░███████████████████░███████░░░Problem
release.shZeile 56 (vor dem Forgejo-Release-POST):Der awk-Range-Operator
/start/,/end/matched inklusive Start- und End-Zeile. Die Start-Zeile ist## [0.1.0] – 2026-06-01, die End-Pattern ist^## \[— beide Patterns matchen dieselbe Zeile (die Start-Zeile). awk gibt also nur diese eine Zeile aus,sed '$d'löscht sie wieder →notesist leer.Konsequenz: Jeder Forgejo-Release-Eintrag wird mit leerem Body angelegt (HTTP 200, aber
body_len: 0). Anwender, die auf den Release-View gehen, sehen nur den Tag-Namen, keine Changelog-Notes.Reproduktion
In jedem Repo mit CHANGELOG.md:
Fix-Vorschlag
awkmit Flag-Variable statt Range:nextskipt sie)sed '$d'mehr nötigAcceptance
notesenthält die komplette Section minus den Headerbody_len > 0, enthält die Listen-Einträgeholm.tools.secret/mikrotik-captive-demov0.1.0 (manuell via PATCH gefixt am 2026-06-01)Hinweis zum Forgejo-
is_empty-QuirkBeim Erst-Release in einem mit
auto_init=falseangelegten Repo schlägt der Release-POST mit HTTP 422 „repo is empty" fehl (is_empty-Quirk-Memory — Workaround: Repo einmal in Web-UI öffnen oder Template-Repo verwenden). Dieser Bug ist separat vom awk-Bug, aber tritt oft zusammen auf, weil der erste Release häufig der erste API-Call ist.