-
Notifications
You must be signed in to change notification settings - Fork 139
Expand file tree
/
Copy path.gitattributes
More file actions
91 lines (86 loc) · 3.23 KB
/
Copy path.gitattributes
File metadata and controls
91 lines (86 loc) · 3.23 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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# Repository-wide line-ending policy.
#
# Why this file exists
# --------------------
# Windows-installed git defaults to core.autocrlf=true, which converts every
# checked-out text file from LF to CRLF on disk. The Databricks Apps platform
# runs the app inside a Linux container, where:
#
# * `bash databricks_app/start.sh` fails on CRLF because the shebang
# `#!/bin/bash\r` becomes "bad interpreter: /bin/bash\r" and every
# `command\r` line is treated as a different command not found.
# * The Apps platform's YAML parser does not tolerate CRLF in `app.yaml`
# on every release.
# * `databricks bundle init` rejects template filenames containing some
# characters NTFS forbids -- separately tracked, but symptomatic of
# the same "Windows is involved somewhere" class of bugs.
#
# Pinning these files to LF in the repo means a contributor's local
# core.autocrlf setting never changes what lands on disk for files the
# Linux side has to read. The contributor sees the same bytes whether
# they're on macOS, Linux, WSL, or native Windows.
#
# Renormalizing an existing checkout
# ----------------------------------
# After pulling this file for the first time, any contributor whose working
# tree was previously checked out with CRLF should run:
#
# git add --renormalize .
# git status # review which files git proposes to re-encode
# git commit -m "Normalize line endings to LF per .gitattributes"
#
# That single commit flips every CRLF-checked-out file to LF in the index
# (matching the repo policy) and produces a no-op working-tree change on
# Linux/macOS clones.
# Default: auto-detect text vs binary, and store text with LF in the repo.
# This handles every file we don't explicitly list below.
* text=auto eol=lf
# Files the Linux App container reads directly. Pin to LF unconditionally
# so a Windows contributor's autocrlf setting can never corrupt them.
*.sh text eol=lf
*.py text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.json text eol=lf
*.toml text eol=lf
*.md text eol=lf
*.cfg text eol=lf
*.ini text eol=lf
*.in text eol=lf
*.tmpl text eol=lf
*.template text eol=lf
*.csv text eol=lf
*.txt text eol=lf
Dockerfile text eol=lf
Makefile text eol=lf
.databricksignore text eol=lf
.gitignore text eol=lf
# PowerShell scripts: keep LF for repo consistency. PowerShell 5.1 / 7+
# both parse LF-only .ps1 files correctly. The UTF-8 BOM that
# scripts/deploy_app.ps1 ships with is independently required for PS 5.1
# to interpret the file as UTF-8 (separate from line endings).
*.ps1 text eol=lf
# Windows-only scripts that the Windows shell expects in CRLF.
*.bat text eol=crlf
*.cmd text eol=crlf
# Binary files: explicitly mark so git never tries to apply text filters
# (line-ending normalization, encoding conversion, smudge/clean drivers).
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.pdf binary
*.svg binary
*.whl binary
*.tar.gz binary
*.tgz binary
*.zip binary
*.gz binary
*.parquet binary
*.dbc binary
*.xlsx binary
*.woff binary
*.woff2 binary
*.ttf binary
*.eot binary