gitattributes: force '* -text' so clones restore byte-exact regardless of core.autocrlf
Git-for-Windows defaults core.autocrlf=true, which expanded LF->CRLF on checkout in a test clone (69 text files differed). '* -text' makes the repo self-enforcing: no EOL conversion on any machine. Added 'diff' overrides so source still diffs as text.
This commit is contained in:
+33
-3
@@ -5,6 +5,12 @@
|
|||||||
# Anything binary NOT listed here still commits fine (just not LFS-optimized) — the
|
# Anything binary NOT listed here still commits fine (just not LFS-optimized) — the
|
||||||
# post-stage size check catches large stragglers.
|
# post-stage size check catches large stragglers.
|
||||||
|
|
||||||
|
# ---- Byte-for-byte mirror: NO end-of-line conversion on ANY machine ----
|
||||||
|
# This overrides each cloner's global core.autocrlf (Git-for-Windows defaults it to true,
|
||||||
|
# which would expand LF->CRLF on checkout). With `* -text`, git never converts EOLs, so a
|
||||||
|
# clone restores files exactly as committed. `diff` overrides below keep source readable.
|
||||||
|
* -text
|
||||||
|
|
||||||
# ---- Game/art assets ----
|
# ---- Game/art assets ----
|
||||||
*.tga filter=lfs diff=lfs merge=lfs -text
|
*.tga filter=lfs diff=lfs merge=lfs -text
|
||||||
*.bmp filter=lfs diff=lfs merge=lfs -text
|
*.bmp filter=lfs diff=lfs merge=lfs -text
|
||||||
@@ -75,6 +81,30 @@
|
|||||||
*.db filter=lfs diff=lfs merge=lfs -text
|
*.db filter=lfs diff=lfs merge=lfs -text
|
||||||
*.mr filter=lfs diff=lfs merge=lfs -text
|
*.mr filter=lfs diff=lfs merge=lfs -text
|
||||||
|
|
||||||
# NOTE: intentionally NO `text`/eol attributes. This is a byte-for-byte mirror — with
|
# ---- Readable diffs for text/source (force textual diff; `-text` above still prevents
|
||||||
# core.autocrlf=false and no text attrs, git stores/restores text files exactly as-is
|
# any EOL conversion, so byte-exactness is preserved) ----
|
||||||
# (no LF<->CRLF conversion) and still auto-detects text for diffs. Do not add `text` here.
|
*.cpp diff
|
||||||
|
*.hpp diff
|
||||||
|
*.h diff
|
||||||
|
*.c diff
|
||||||
|
*.inl diff
|
||||||
|
*.idl diff
|
||||||
|
*.rc diff
|
||||||
|
*.def diff
|
||||||
|
*.dsp diff
|
||||||
|
*.dsw diff
|
||||||
|
*.mak diff
|
||||||
|
*.script diff
|
||||||
|
*.build diff
|
||||||
|
*.instance diff
|
||||||
|
*.contents diff
|
||||||
|
*.subsystems diff
|
||||||
|
*.abl diff
|
||||||
|
*.abi diff
|
||||||
|
*.hint diff
|
||||||
|
*.txt diff
|
||||||
|
*.md diff
|
||||||
|
*.ps1 diff
|
||||||
|
*.bat diff
|
||||||
|
*.reg diff
|
||||||
|
*.h diff
|
||||||
|
|||||||
Reference in New Issue
Block a user