Zeilenenden zurueck auf LF — und diesmal die URSACHE benannt
Der Vorgaenger-Commit drehte die Datei von LF auf CRLF und zeigte dadurch 8939
geaenderte Zeilen statt der echten 139. Zweiter Fall derselben Klasse in dieser
Sitzung (der erste in domains/cms/api, drei Commits lang).
🔴 DIE URSACHE, die beim ersten Mal noch nicht benannt war: Pythons TEXT-Schreibmodus.
`io.open(p, "w", encoding="utf-8")` uebersetzt auf Windows jedes `\n` beim SCHREIBEN
nach `\r\n` (newline=None => os.linesep). Wer eine Datei so einliest und zurueck-
schreibt, dreht ihre Zeilenenden — auch wenn er nur drei Zeichen geaendert hat.
Abhilfe fuer den naechsten Bearbeiter, in dieser Reihenfolge:
1. Zeilenenden der Datei VOR dem Edit messen: git show <ref>:<datei> | ...
2. Im BINAER-Modus lesen und schreiben (open(p,"rb") / open(p,"wb")) ODER beim
Text-Schreiben newline="" mitgeben.
3. VOR dem Push git show --stat lesen: eine vierstellige Zeilenzahl bei einer
kleinen Aenderung ist immer dieses Problem.
⚠ Es gibt hier KEINE .gitattributes, also keine Repo-weite Politik — jede Datei
traegt ihren eigenen Stand. Diese hier ist LF (8939 Zeilen), pauschales
"normalisieren" ist deshalb genauso falsch wie das Drehen.
--selftest-intake unveraendert 32 ok / 0 fail.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
geaenderte Zeilen statt der echten 139. Zweiter Fall derselben Klasse in dieser
Sitzung (der erste in domains/cms/api, drei Commits lang).
🔴 DIE URSACHE, die beim ersten Mal noch nicht benannt war: Pythons TEXT-Schreibmodus.
`io.open(p, "w", encoding="utf-8")` uebersetzt auf Windows jedes `\n` beim SCHREIBEN
nach `\r\n` (newline=None => os.linesep). Wer eine Datei so einliest und zurueck-
schreibt, dreht ihre Zeilenenden — auch wenn er nur drei Zeichen geaendert hat.
Abhilfe fuer den naechsten Bearbeiter, in dieser Reihenfolge:
1. Zeilenenden der Datei VOR dem Edit messen: git show <ref>:<datei> | ...
2. Im BINAER-Modus lesen und schreiben (open(p,"rb") / open(p,"wb")) ODER beim
Text-Schreiben newline="" mitgeben.
3. VOR dem Push git show --stat lesen: eine vierstellige Zeilenzahl bei einer
kleinen Aenderung ist immer dieses Problem.
⚠ Es gibt hier KEINE .gitattributes, also keine Repo-weite Politik — jede Datei
traegt ihren eigenen Stand. Diese hier ist LF (8939 Zeilen), pauschales
"normalisieren" ist deshalb genauso falsch wie das Drehen.
--selftest-intake unveraendert 32 ok / 0 fail.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>