diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..446cab4 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,27 @@ +# Copied verbatim from rig/.gitattributes, and deliberately duplicated rather +# than shared: rig/ must carry its own so it survives being handed over on its +# own, and spr had none at all despite shipping ctrl/*.sh and generating +# gen//ctrl/*.sh. +# +# Line endings are normalised to LF in the repository and on checkout, on every +# platform. Without this, a checkout on Windows/WSL rewrites files to CRLF and +# every one of them shows up as modified without anyone having touched it. +# +# For the scripts it is not cosmetic: a shell script with CRLF fails on Linux +# with `bad interpreter: /usr/bin/env bash^M`, which reads as a broken installer +# rather than a line-ending problem — the worst possible first impression on a +# machine where nothing has been proven yet. +* text=auto eol=lf + +*.sh text eol=lf +*.py text eol=lf +*.env text eol=lf +*.yaml text eol=lf +*.yml text eol=lf + +# Never touch binaries. +*.png binary +*.jpg binary +*.zip binary +*.tar binary +*.gz binary