# Zeilenenden festlegen. # # Entwickelt wird auf Windows, ausgeliefert wird auf Linux. Windows # beendet Zeilen mit zwei Zeichen (CR LF), Linux mit einem (LF). Bei # Textdateien ist das folgenlos -- bei Skripten nicht: Aus der ersten # Zeile "#!/bin/bash" wird dann "#!/bin/bash\r", und Linux sucht nach # einem Programm, dessen Name auf ein unsichtbares Zeichen endet. Der # Fehler lautet dann "bad interpreter" und nennt einen Pfad, der voellig # richtig aussieht. # # Deshalb: Alles, was auf dem Server ausgefuehrt wird, bekommt fest # Unix-Zeilenenden -- unabhaengig davon, womit es bearbeitet wurde. *.sh text eol=lf *.mjs text eol=lf *.js text eol=lf *.json text eol=lf *.sql text eol=lf *.yml text eol=lf # Bilder und Schriften nie anfassen. *.png binary *.jpg binary *.webp binary *.ico binary *.woff binary *.woff2 binary *.conf text eol=lf # Die git-Haken haben KEINE Endung -- keine der Regeln oben greift auf # sie. Nachgemessen am 01.10.2026: Im Verlauf lagen 73 CR-Bytes in # tools/git-haken/pre-commit. # # Auf Windows blockiert der Haken damit trotzdem richtig (gemessen: # Rueckgabe 1, 0 Commits) -- auf Linux nicht, dort ist "#!/bin/sh " # ein Programmname mit einem unsichtbaren Zeichen am Ende. Das ist # Vorsorge, keine Reparatur: Ein Haken, der still nicht laeuft, ist # genau die Sicherung, die aussieht, als waere sie da. tools/git-haken/* text eol=lf # Pruefdaten sind BYTEGENAU und werden von keiner Regel angefasst. # # `server/pruef-kampagne-lesen.mjs` nagelt jede Datei dort mit ihrer # SHA-256-Summe fest -- eine Pruefung, deren Eingabe sich aendern kann, # beweist nichts. Ohne diese Zeile wuerde git `kampagne-kaputt.html` # beim Auschecken auf CRLF umschreiben (core.autocrlf=true auf dem # Entwicklungsrechner): 369 Bytes werden 378, die Summe stimmt nicht # mehr, und die Pruefung meldet einen Schaden, den es nicht gibt. # # Gemessen am 07.10.2026 beim `git add` -- git hat es selbst angesagt # ("LF will be replaced by CRLF the next time Git touches it"), und # genau das waere die Sorte Fehlalarm, nach der man die Pruefung # abschaltet. server/pruefdaten/** -text