From Devin:
CRLF coverage by extension (CRLF / total of that extension):
- .js: 129 / 453 (~28%)
- .css: 25 / 81 (~31%)
- .py: 17 / 39 (~44%)
- .txt: 9 / 17 (~53%)
- .pug: 5 / 6 (~83%)
- .md: 5 / 167 (~3%)
- .yml: 2 / 11 (~18%)
- .php: 2 / 2 (100%)
- Dockerfile, .dockerignore, .eslintignore, .gitignore, .env, .csh, .json — single CRLF files in each.
.gitattributes
Current .gitattributes only enforces LF for one file:
Ensure shell scripts always use LF line endings
_docker-entrypoint.sh text eol=lf
There is no global * text=auto eol=lf rule, which is the reason 201 pre-existing CRLF files are still tracked as CRLF.
Bottom line
201 of 2,721 tracked files (~7.4%) have CRLF terminators on development (HEAD 0977d17).
The mix is heavily JS (129), CSS (25), and Python (17), plus most of the bundled src/external/* jQuery/Leaflet/three.js vendor scripts and a handful of dotfiles (Dockerfile, .gitignore, .dockerignore, .eslintignore, sample.env).
One file — views/login.pug — has mixed CRLF and LF line terminators.
.gitattributes does not yet enforce LF globally.
From Devin:
CRLF coverage by extension (CRLF / total of that extension):
.gitattributes
Current .gitattributes only enforces LF for one file:
Ensure shell scripts always use LF line endings
_docker-entrypoint.sh text eol=lf
There is no global * text=auto eol=lf rule, which is the reason 201 pre-existing CRLF files are still tracked as CRLF.
Bottom line
201 of 2,721 tracked files (~7.4%) have CRLF terminators on development (HEAD 0977d17).
The mix is heavily JS (129), CSS (25), and Python (17), plus most of the bundled src/external/* jQuery/Leaflet/three.js vendor scripts and a handful of dotfiles (Dockerfile, .gitignore, .dockerignore, .eslintignore, sample.env).
One file — views/login.pug — has mixed CRLF and LF line terminators.
.gitattributes does not yet enforce LF globally.