# Auto detect text files and perform LF normalization * text=auto # Shell scripts keep LF in the working tree as well as in the index. Left to # `text=auto`, a Windows clone writes them with carriage returns, and the # documented Linux path then dies inside the container in under a second: the # shebang reads as the interpreter `bash\r`, which does not exist. Nothing about # that failure names line endings, and the same clone builds and tests fine # everywhere else, so it reads as a broken image rather than a broken checkout. # # A clone checked out before this rule keeps its carriage returns, because the # blob is unchanged and git has no reason to rewrite the file. The one-line # repair is in native/GameCult.Mesh.Quic.Native/README.md, beside the container # path it unblocks. *.sh text eol=lf # The committed CultMesh QUIC native binaries (cut 6, packaging) ride the # deploy `git archive` as raw bytes. `* text=auto` already autodetects them as # binary by content, but that autodetection is a heuristic; say so explicitly # so no future text-processing rule (a diff driver, an export filter) can # apply text conversion and poison the committed digests in SHA256SUMS. packages/cultmesh-ts/native/**/*.dll binary packages/cultmesh-ts/native/**/*.so binary packages/cultmesh-ts/native/**/*.so.* binary # The digest list and manifest beside them keep LF on every checkout. Left to # `text=auto`, a Windows clone writes them with carriage returns, and the # documented `sha256sum -c SHA256SUMS` then fails on every line (each filename # ends in `\r`) while CI, checking out on Linux, stays green. packages/cultmesh-ts/native/SHA256SUMS text eol=lf packages/cultmesh-ts/native/MANIFEST.txt text eol=lf