-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy path.gitattributes
More file actions
50 lines (45 loc) · 2.2 KB
/
Copy path.gitattributes
File metadata and controls
50 lines (45 loc) · 2.2 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
41
42
43
44
45
46
47
48
49
50
* text=auto
*.py text eol=crlf
*.pyproj text eol=crlf
*.sln text eol=crlf
*.txt text eol=crlf
*.md text eol=crlf
# Shell scripts must check out with LF on every platform. A CRLF shebang
# line is a syntax error to the interpreter ("bad interpreter: no such file
# or directory"), so a script normalized to CRLF on a Windows checkout is
# broken for anyone who runs it under bash - including the SPA staleness
# guard in tools/.
*.sh text eol=lf
*.png binary
*.ico binary
*.wav binary
# Build/codegen output - never hand-edited, always regenerated byte-for-byte
# by its own tool (Vite / the schema codegen script / the Python Tailwind
# theme generator). `* text=auto` above plus a local core.autocrlf=true
# otherwise makes every fresh build spuriously "modify" these paths in
# `git status`, since the tool writes LF directly while git expects the
# working-tree copy to match its own checkout-time normalization. -text
# opts them out of line-ending normalization entirely, so they stay exactly
# as their generator wrote them.
#
# assets/*/** originally existed for the Qt-era island bundles' Vite output
# (19 per-island builds under assets/<island>/), all of which were deleted
# once the SPA replaced them. It is kept because it still covers the
# surviving assets/ subdirectories - assets/branding/ and assets/screenshots/
# - keeping their committed bytes stable rather than subject to checkout-time
# renormalization. Does not match assets/'s own loose top-level static files
# (the icon, already handled by the `binary` rules above): assets/*/**
# requires at least one subdirectory level.
assets/*/** -text
web_ui/src/lib/bridge-core/generated/** -text
web_ui/src/lib/tokens/gl-theme.css -text
# Source is source, even when it briefly contains a byte git would call
# binary. PlanNodeView.tsx carried literal U+0000/U+0001 separators in a
# template literal, which flipped git's own binary heuristic and left the
# whole module undiffable and unblameable on every host that reads it -
# a 500-line component nobody could review a line of. Those two characters
# are escapes now, but marking the source extensions `diff` means the next
# one costs a confusing diff rather than a silent hole in the history.
*.ts diff
*.tsx diff
*.css diff