Zeilenenden im Repository auf LF festlegen

Ohne .gitattributes liegen Dateien gemischt vor: 29 von 500 mit CRLF,
der Rest mit LF. Jedes zeilenweise arbeitende Werkzeug schreibt eine
CRLF-Datei dann mit LF zurueck, und der Diff zeigt statt drei
geaenderten Zeilen die ganze Datei - bei Issue #7 waren es 578 statt 8,
kurz vor dem Push bemerkt.

Dieser Commit legt nur die Regel fest. Die Normalisierung der 29 Dateien
kommt getrennt, damit die Historie lesbar bleibt.

Refs #26
This commit is contained in:
Florian Wilde
2026-08-23 23:34:38 +02:00
parent 851724774a
commit 6a0db51e3b
+32
View File
@@ -0,0 +1,32 @@
# Zeilenenden
#
# Im Repository steht ueberall LF, unabhaengig davon, auf welchem System
# gearbeitet wird. Der Grund ist nicht Geschmack, sondern eine Falle:
#
# Solange Dateien gemischt vorliegen, schreibt jedes zeilenweise
# arbeitende Werkzeug - sed, ein Formatierer, ein Skript - die Datei mit
# LF zurueck. Der Diff zeigt dann nicht die drei geaenderten Zeilen,
# sondern die ganze Datei. Genau das ist passiert: 578 Diff-Zeilen statt
# 8, kurz vor einem Push bemerkt.
#
# Nebenwirkung derselben Mischung: "git diff --check" meldet bei
# CRLF-Dateien jede hinzugefuegte Zeile als "trailing whitespace", weil
# es das CR so wertet. Damit ist die Pruefung fuer diese Dateien wertlos.
* text=auto eol=lf
# Shell-Skripte laufen auf dem Server. Ein CRLF im Shebang macht sie
# unbrauchbar ("bad interpreter"), und der Fehler ist von aussen nicht
# anzusehen. Deshalb hier ausdruecklich, nicht nur ueber die Regel oben.
*.sh text eol=lf
# Binaerdateien nie anfassen.
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.pdf binary
*.woff binary
*.woff2 binary
*.ttf binary
*.zip binary