Repository navigation
Expand file tree
/
Copy path.gitattributes
More file actions
58 lines (54 loc) · 2.57 KB
/
Copy path.gitattributes
File metadata and controls
58 lines (54 loc) · 2.57 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
51
52
53
54
55
56
57
58
# Insta snapshots are data, not source, and GitHub's language stats should not
# count them. Predates the line-ending pin below; kept because it answers a
# different question.
crates/biorouter/src/agents/snapshots/*.snap linguist-language=Text
# ⚠ Pin line endings for source, so a Windows checkout cannot change file bytes.
#
# Git for Windows defaults to `core.autocrlf=true`, which rewrites LF to CRLF on
# checkout. That is invisible until something reads a source file as TEXT rather
# than compiling it, and this repo does exactly that: several tests scan their
# own source to assert an invariant nothing else can hold (that a gate is wired
# into dispatch, that a module's tests live where its docs claim). Two of those
# needles contain `\n`, so on Windows they matched nothing and the tests failed
# for eighteen days for a reason that had nothing to do with the code.
#
# Normalising in each test works and is what shipped, but it treats a repository
# property as a per-test concern and the next such test will be written without
# it. This is the root fix.
*.rs text eol=lf
*.ts text eol=lf
*.tsx text eol=lf
*.js text eol=lf
*.mjs text eol=lf
*.json text eol=lf
*.toml text eol=lf
*.md text eol=lf
*.css text eol=lf
*.html text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.sh text eol=lf
# Shell scripts and binaries that must not be touched at all.
*.png binary
*.jpg binary
*.ico binary
*.icns binary
*.gguf binary
*.brxt binary
*.brkb binary
# Unified diff markers require spaces on blank context lines and before Go tab indentation.
vendor/computer-use/patches/*.patch text eol=lf whitespace=-blank-at-eol,-space-before-tab
# ⚠ The vendored Computer Use tree is HASHED, file by file, into
# `vendor/computer-use/source-manifest.json`, and the build verifies
# those hashes before the bytes become build input. So its bytes must be
# byte-identical on every platform, not merely equivalent.
#
# `-text` disables end-of-line conversion entirely — stronger than `text eol=lf`,
# which still declares the file text and invites tooling to normalise it. The
# rules above cover source by EXTENSION, and this tree is full of files that have
# none: `LICENSE`, `Makefile`, `CODEOWNERS`, `.gitignore`, `.gitattributes`.
# Measured on CI before this rule: a Windows checkout rewrote exactly those five
# to CRLF and the manifest check failed with `changed=['.gitattributes',
# '.gitignore', 'CODEOWNERS', 'LICENSE', 'Makefile']`, on a tree nobody had
# edited.
vendor/computer-use/source/** -text