mateclaw/.gitattributes
mateaix fcd2b04397 fix(build): pin shell/SQL scripts to LF via .gitattributes (#544)
Windows checkouts with core.autocrlf=true (the Git for Windows default)
converted docker/postgres/init/10-app-role.sh to CRLF, so the container
entrypoint failed with 'cannot execute: required file not found' and the
postgres/server containers crash-looped. Pinning *.sh/*.sql to LF makes
Windows clones produce container-executable scripts regardless of the
local autocrlf setting.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 21:58:41 +08:00

20 lines
629 B
Plaintext

# Line-ending policy.
#
# Shell scripts are bind-mounted into Linux containers (e.g.
# docker/postgres/init/ -> /docker-entrypoint-initdb.d) and executed there.
# A CRLF checkout on Windows (core.autocrlf=true is the Git for Windows
# default) turns the shebang into "#!/bin/sh\r", which fails with
# "cannot execute: required file not found". Pin them to LF everywhere.
#
# SQL files are pinned to LF too so Flyway migration checksums stay
# identical across platforms.
*.sh text eol=lf
*.bash text eol=lf
*.sql text eol=lf
# Windows-native scripts keep CRLF.
*.bat text eol=crlf
*.cmd text eol=crlf
*.ps1 text eol=crlf