forked from heygen-com/hyperframes
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.gitattributes
More file actions
69 lines (62 loc) · 4.58 KB
/
Copy path.gitattributes
File metadata and controls
69 lines (62 loc) · 4.58 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
# Normalize text files to LF on checkout and in the repo, regardless of the
# contributor's OS. Without this, files saved on Windows can land in PRs with
# CRLF endings or a UTF-8 BOM, which makes every line differ at the byte level
# and trips GitHub's "Binary file not shown" diff heuristic.
* text=auto eol=lf
# Regression-test media under packages/producer/tests — RECURSIVE (`**`) so
# media in ANY nested fixture dir routes to LFS. The earlier non-recursive
# patterns (`tests/*/output/...`, `tests/*/src/...`) only matched one level
# deep, so binaries in nested dirs like `tests/hdr-regression/hdr-pq/assets/*.mp4`
# and `.../_renders/*.mp4` committed straight into the git pack and now live in
# history forever. `**` closes that leak: any video/baseline anywhere under
# tests/ is LFS, regardless of how deeply it is nested.
packages/producer/tests/**/*.mp4 filter=lfs diff=lfs merge=lfs -text
packages/producer/tests/**/*.mov filter=lfs diff=lfs merge=lfs -text
packages/producer/tests/**/*.webm filter=lfs diff=lfs merge=lfs -text
packages/producer/tests/**/*.png filter=lfs diff=lfs merge=lfs -text
packages/producer/tests/**/output/compiled.html filter=lfs diff=lfs merge=lfs -text
# HF#2550 fixture's source index.html carries the real-world project's
# embedded base64 assets (744 KB) — over the largefiles hook's 500 KB
# non-LFS limit. Scoped to this one file, not a broad tests/**/*.html
# pattern, since every other fixture's source HTML is small plain git.
packages/producer/tests/hf2550-video-subcomposition-ghost/src/index.html filter=lfs diff=lfs merge=lfs -text
# ONNX models must ALWAYS use LFS regardless of location: a 31 MB ppmattingv2
# model was once committed raw into skills/ then deleted — but a raw commit
# lives in history forever. No path in the repo legitimately ships a raw .onnx.
# (Audio masters / .wav are intentionally NOT globalized here — registry blocks
# ship raw audio so they stay portable when installed via `hyperframes add`.
# The wav-in-LFS question is a coordinated policy decision left for later.)
*.onnx filter=lfs diff=lfs merge=lfs -text
# GitHub Linguist overrides — HTML files are compositions (user content / templates),
# not the framework source. Hide them from the repo language stats so TypeScript,
# which is the actual implementation, surfaces as the dominant language.
registry/**/*.html linguist-vendored
*.html linguist-detectable=false
# Repo-native project-skill assets — the changelog-video skill ships a 12 MB
# animated background (bg-pattern.mp4) and a 5 MB house music track (bgm.mp3)
# alongside its 5 fonts. Route them through LFS in both mirrors so a fresh
# clone stays lean; the largefiles pre-commit guard fails hard on raw commits
# of media this size, and history rewrites after merge are painful (see the
# comment on the packages/producer patterns above).
.claude/skills/**/*.mp4 filter=lfs diff=lfs merge=lfs -text
.claude/skills/**/*.mp3 filter=lfs diff=lfs merge=lfs -text
.agents/skills/**/*.mp4 filter=lfs diff=lfs merge=lfs -text
.agents/skills/**/*.mp3 filter=lfs diff=lfs merge=lfs -text
# --- Fork override: stop tests/**/output/compiled.html self-converting to LFS pointers ----------
# The pattern above flags these regression-test fixtures filter=lfs, but they were committed
# UPSTREAM as PLAIN content (never migrated into LFS storage). So git-lfs's clean filter rewrites
# them to pointers on every `git add` — a phantom "change" that cloud video-build agents silently
# sweep into their PRs, tripping the scope gate on 20-60 files no one touched. This override (a
# later match wins) treats them as the plain content they already are: no pointer is ever computed,
# locally or in CI. `-text` keeps them byte-exact so no EOL renormalisation reintroduces a diff.
# Retires the local `git update-index --skip-worktree` workaround. Appended (not edited inline) to
# minimise merge friction on upstream sync.
packages/producer/tests/**/output/compiled.html -filter -diff -merge -text
# --- Learn video render inputs: LFS so the cloud renderer gets them without bloating the pack ----
# A delivered video's source lives on main; the Windows renderer checks it out and muxes these heavy
# INPUTS. LFS keeps clones lean (pointers), the runner fetches on demand, and the identical AI end
# card copied into every project dedupes to a single content-addressed object. Deliverable outputs
# (<slug>.mp4, thumbnail) never enter git — they are Release assets (see learn/.gitignore).
learn/output/**/*.wav filter=lfs diff=lfs merge=lfs -text
learn/output/**/*.mp4 filter=lfs diff=lfs merge=lfs -text
learn/output/**/assets/grounds/*.png filter=lfs diff=lfs merge=lfs -text