-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.gitattributes
More file actions
40 lines (40 loc) Β· 2.08 KB
/
Copy path.gitattributes
File metadata and controls
40 lines (40 loc) Β· 2.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# .gitattributes β line-ending policy for dotfiles-core.
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# .editorconfig sets `end_of_line = lf`, but that only guides EDITORS β it does
# not govern what git writes on checkout/commit. Core is vendored (git subtree)
# into the OS repos, and may itself be edited on Windows, where git can introduce
# CRLF. If a `.sh`, `bin/clip`, or `bin/clip-paste` lands on disk with CRLF, its
# shebang becomes `β¦/env bash\r` and the interpreter dies with "bad interpreter:
# No such file or directory" β a class of breakage the manifest/exec-bit/shellcheck
# audit cannot see (the file is valid text). This makes LF a hard guarantee at the
# git layer, for every consumer.
#
# `text=auto eol=lf`: git auto-detects text vs binary, normalizes text to LF in the
# repo, and checks it out as LF on every OS (including Windows). The explicit blocks
# below pin the load-bearing executable/config classes so detection is never in
# play for them. Binaries are marked so git never touches their bytes.
# Default: normalize all detected-text files to LF in the index and on checkout.
* text=auto eol=lf
# ββ Executable + sourced shell β MUST stay LF or the shebang/sourcing breaks βββ
*.sh text eol=lf
*.zsh text eol=lf
bin/clip text eol=lf
bin/clip-paste text eol=lf
# ββ Config / data that fans out to every OS repo ββββββββββββββββββββββββββββββ
*.lua text eol=lf
*.toml text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.conf text eol=lf
*.gitconfig text eol=lf
*.md text eol=lf
Makefile text eol=lf
# ββ Binaries (defensive): never normalize, never diff as text βββββββββββββββββ
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.pdf binary
*.gz binary
*.zip binary