From b9ce488d6d5f475fc8a9c80b31c019243803d370 Mon Sep 17 00:00:00 2001 From: Steve <1407088+stevepridemore@users.noreply.github.com> Date: Sun, 17 May 2026 15:52:46 -0400 Subject: [PATCH] chore: force LF on shell scripts and Dockerfile via .gitattributes Windows clients with core.autocrlf=true convert *.sh files to CRLF on checkout. When the entrypoint.sh is COPY'd into the Linux container image and executed, the shebang becomes "#!/usr/bin/env bash\r" which breaks with `/usr/bin/env: 'bash\r': No such file or directory`, preventing the container from starting. A .gitattributes file pins these file types to LF regardless of client autocrlf settings, so the Docker image is reproducible across Windows, macOS, and Linux contributors. Co-Authored-By: Claude Opus 4.7 (1M context) --- .gitattributes | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fb7cb6a --- /dev/null +++ b/.gitattributes @@ -0,0 +1,7 @@ +# Force LF line endings on shell scripts and Dockerfile so Windows +# checkouts don't break the entrypoint shim when copied into a Linux +# container. (Symptom: `/usr/bin/env: 'bash\r': No such file or directory` +# on container start.) +*.sh text eol=lf +Dockerfile text eol=lf +*.cypher text eol=lf