From b2e20bab000bffab0d65d33303401dea5cb3352f Mon Sep 17 00:00:00 2001 From: root Date: Fri, 1 May 2026 00:07:17 +0300 Subject: [PATCH] .gitattributes: LF-by-default + CRLF for .bat/.ps1, mark binaries Without this, Windows clients commit CRLF and Linux CI runner can't parse YAML/IS/shell scripts cleanly. Binaries (dll/sys/exe/zip/ico) are explicitly marked so git doesn't try to text-normalize them (critical for embedded WinDivert.sys in third_party/). Co-Authored-By: Claude Opus 4.7 (1M context) --- .gitattributes | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..c73ee6d --- /dev/null +++ b/.gitattributes @@ -0,0 +1,29 @@ +# Ensure LF line endings in repository for cross-platform CI builds. +# Without this, Windows clients commit CRLF and the Linux runner can't +# parse YAML / Inno Setup scripts / shell heredocs reliably. + +* text=auto eol=lf + +# Explicit LF for source code and configs. +*.go text eol=lf +*.yml text eol=lf +*.yaml text eol=lf +*.toml text eol=lf +*.json text eol=lf +*.md text eol=lf +*.sh text eol=lf +*.iss text eol=lf +*.bat text eol=crlf +*.ps1 text eol=crlf + +# Binaries — never normalize. +*.dll binary +*.sys binary +*.lib binary +*.exe binary +*.png binary +*.jpg binary +*.ico binary +*.bin binary +*.zip binary +*.7z binary