-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.gitattributes
More file actions
59 lines (53 loc) · 2.51 KB
/
Copy path.gitattributes
File metadata and controls
59 lines (53 loc) · 2.51 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
59
# Normalise line endings in the repository, check out native on each machine.
#
# Without this, a Windows checkout stages CRLF and every file in the tree shows
# as modified the first time anyone opens it on Linux — which is also what CI
# runs on. `text=auto` stores LF and hands out whatever the platform expects.
* text=auto
# Files whose endings are not negotiable.
*.go text eol=lf
*.sql text eol=lf
# Shell scripts run on the deployment box, and a CR at the end of the shebang
# line is a "bad interpreter: /usr/bin/env bash^M" that names the wrong problem.
# These are edited on Windows and executed on Ubuntu, so the ending is not a
# per-machine preference.
*.sh text eol=lf
*.service text eol=lf
*.timer text eol=lf
*.proto text eol=lf
*.md text eol=lf
*.yaml text eol=lf
*.yml text eol=lf
*.mjs text eol=lf
*.json text eol=lf
*.html text eol=lf
*.sh text eol=lf
*.service text eol=lf
*.conf text eol=lf
# The Makefile is not negotiable in a stronger sense than the rest: a recipe line
# that arrives with CRLF makes GNU make pass a trailing \r to the shell, which
# fails as `command not found: go\r` — an error that names a command nobody typed
# and sends people looking for a broken toolchain. It runs on Linux only, so LF.
Makefile text eol=lf
# PowerShell is the exception: it is Windows-only here, and some hosts still
# mis-parse a script that arrives with bare LFs.
*.ps1 text eol=crlf
# Generated protobuf code. Marked so a diff of it collapses by default and does
# not drown a review — it is regenerated by `./make.ps1 gen`, never hand-edited.
internal/pb/**/*.go linguist-generated=true -diff
# design/ is a specification, not source — hand-written HTML and vanilla JS that
# nobody ports (see design/README.md). Marking it documentation keeps GitHub's
# language bar reporting what this project actually is rather than counting the
# mockups as the frontend.
design/** linguist-documentation=true
# Feed fixtures are recordings, not text (TODO 4.2). `text=auto` would rewrite
# CRLFs inside a file whose whole purpose is to be byte-identical to what a real
# server sent, and windows1252.raw is not valid UTF-8 at all — git's own text
# heuristics would have to guess, and a wrong guess silently destroys the
# evidence. Marking them binary is how a fixture stays a fixture.
internal/feed/testdata/corpus/*.raw binary
# Binary, so git never tries to be clever with it.
*.png binary
*.wasm binary
*.gz binary
*.db binary