chore: gitattributes for shaders and LF text on Windows checkouts

The committed .qsb are binary but carry raw CR bytes, so a future blanket
`* text` would mangle them. Everything else is pinned to LF so a checkout
with autocrlf on cannot turn 2.1.0 into 2.1.0<CR> in a version grep, or
CRLF the GLSL and QML sources.

.rs is pinned too, which the plan's list omitted: it is the largest text
set in the tree and the same class of invisible breakage applies.
git add --renormalize . stages nothing, so no file changes today.

cc
This commit is contained in:
vicrodh committed 2026-08-27 02:45:03 -06:00
1 parent 3e8a1cf942
commit 7129b9f70e
1 file changed
+16
+16
View File
@@ -0,0 +1,16 @@
# Shaders: the committed .qsb are binary (NUL in the header) but also carry
# raw CR bytes; a future `* text` would mangle them. Text formats are LF so a
# Windows checkout with autocrlf cannot turn `2.1.0` into `2.1.0<CR>` in a
# version grep, or CRLF the GLSL/QML sources.
*.qsb binary
*.frag text eol=lf
*.vert text eol=lf
*.qml text eol=lf
*.toml text eol=lf
*.po text eol=lf
*.sh text eol=lf
*.ico binary
# Not in the original plan list, added deliberately: .rs is the largest text
# set in the tree (639 files) and a CRLF checkout of it is the same class of
# invisible breakage the .toml line exists to prevent.
*.rs text eol=lf