-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.gitattributes
More file actions
22 lines (18 loc) · 1.25 KB
/
Copy path.gitattributes
File metadata and controls
22 lines (18 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Default: do not normalize line endings (`* -text`); .editorconfig end_of_line rules guide what the editor writes.
# The exception pins below are git's own enforcement - they force LF for execution-sensitive classes regardless of editor.
# git config --global core.autocrlf false
# git add --renormalize .
# git ls-files --eol
* -text
# Exception: scripts must stay LF regardless of the `* -text` default - a CRLF shebang breaks execution. `.editorconfig`
# covers `*.sh`, but extensionless executables (s6 service scripts, hooks) match no extension rule, so pin them here so
# git enforces LF on checkout and `--renormalize`. A repo shipping extensionless scripts adds an explicit path rule,
# e.g. for s6-overlay init: `Docker/s6-overlay/** text eol=lf`.
*.sh text eol=lf
# Dockerfiles must be LF - a CRLF breaks RUN heredocs and line continuations.
Dockerfile text eol=lf
*.Dockerfile text eol=lf
# Extensionless executables must stay LF - a CRLF shebang breaks execution. The Husky.Net git hook matches no extension rule.
.husky/pre-commit text eol=lf
# LanguageData/ holds downloaded source data the parser reads byte-for-byte; never normalize it. The `* -text` default
# above preserves it exactly as downloaded - do NOT add a `text`/`eol=` rule here.