Tell an existing Windows clone how to get its build script back to LF
`*.sh text eol=lf` reaches new clones only. A clone checked out before the rule keeps scripts/build-quic-native.sh with carriage returns after pulling, because the blob did not change: git neither rewrites the file nor reports it modified, and the container still dies on the interpreter `bash\r`. The README now gives the repair where a newcomer meets the container path, and .gitattributes points to it. Verified on clones made at367c9bcand moved toc25de5a, from Git Bash and from Windows PowerShell 5.1: 109 CR bytes before, none after, status clean. The line uses `;` so it runs in both. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
c25de5a895
commit
b3d9cf7821
2 changed files with 14 additions and 0 deletions
5
.gitattributes
vendored
5
.gitattributes
vendored
|
|
@ -7,4 +7,9 @@
|
|||
# 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
|
||||
|
|
|
|||
|
|
@ -117,6 +117,15 @@ it is: `${PWD}` in PowerShell, `$(pwd)` in a POSIX shell. The second is one line
|
|||
because the shell it is offered to is not decided here; a continuation would have
|
||||
to pick one, and a backtick pasted into a POSIX shell is not a continuation.
|
||||
|
||||
A Windows clone made before `.gitattributes` kept shell scripts at LF still has
|
||||
`scripts/build-quic-native.sh` with carriage returns, and pulling does not fix
|
||||
it: the script's content did not change, so git neither rewrites it nor reports
|
||||
it modified. The container then dies at once on the interpreter `bash\r`. From
|
||||
the repository root, in either shell, this checks the script out again under the
|
||||
current attributes:
|
||||
|
||||
git rm --cached -q scripts/build-quic-native.sh; git checkout HEAD -- scripts/build-quic-native.sh
|
||||
|
||||
`--security-opt seccomp=unconfined` is load-bearing, not caution. The
|
||||
ThreadSanitizer configuration needs the process's address space where it expects
|
||||
it, so `scripts/mutate-cultmesh.mjs` re-executes those runs under `setarch -R`,
|
||||
|
|
|
|||
Loading…
Reference in a new issue