Enforce LF line endings via .gitattributes + ignore tauri-icon's extra outputs

Fixes the recurring 'Your local changes to Cargo.toml would be overwritten'
error on Windows pulls. Git-for-Windows defaults to core.autocrlf=true,
which made every text file appear modified vs the LF-stored versions.
'* text=auto eol=lf' in .gitattributes overrides autocrlf and forces a
stable LF checkout.

Also ignores Square*Logo.png, android/, ios/, 64x64.png, icon.png — these
are produced by 'pnpm tauri icon' but we ship only the canonical 5 files
(32, 128, 128@2x, .ico, .icns).
This commit is contained in:
megaproxy 2026-05-09 16:05:55 +01:00
parent 160e08d4a8
commit a1bbc6f8ba
2 changed files with 51 additions and 0 deletions

42
.gitattributes vendored Normal file
View file

@ -0,0 +1,42 @@
# Always check out source files with LF endings, regardless of the user's
# core.autocrlf setting. Without this, Windows clones with core.autocrlf=true
# (the Git-for-Windows default) treat every text file as "modified" because
# Git's stored version is LF but the working copy is CRLF.
* text=auto eol=lf
# Explicit text files (belt-and-suspenders).
*.rs text eol=lf
*.toml text eol=lf
*.json text eol=lf
*.ts text eol=lf
*.tsx text eol=lf
*.js text eol=lf
*.svelte text eol=lf
*.css text eol=lf
*.html text eol=lf
*.md text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
# Shell + Windows scripts keep their native endings.
*.sh text eol=lf
*.ps1 text eol=crlf
*.bat text eol=crlf
*.cmd text eol=crlf
# Binaries — never touch these.
*.png binary
*.ico binary
*.icns binary
*.jpg binary
*.jpeg binary
*.gif binary
*.exe binary
*.dll binary
*.so binary
*.dylib binary
*.woff binary
*.woff2 binary
*.ttf binary
*.otf binary

9
.gitignore vendored
View file

@ -48,6 +48,15 @@ src-tauri/Cargo.lock
*.tsbuildinfo *.tsbuildinfo
.vite/ .vite/
# Extra outputs from `pnpm tauri icon` — we ship only the canonical set
# (32x32.png, 128x128.png, 128x128@2x.png, icon.ico, icon.icns).
src-tauri/icons/64x64.png
src-tauri/icons/icon.png
src-tauri/icons/Square*.png
src-tauri/icons/StoreLogo.png
src-tauri/icons/android/
src-tauri/icons/ios/
# Agent working files — meaningful to local Claude Code sessions, noise for # Agent working files — meaningful to local Claude Code sessions, noise for
# anyone else. Kept out of the public repo (they still live on disk). # anyone else. Kept out of the public repo (they still live on disk).
CLAUDE.md CLAUDE.md