diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..49892be --- /dev/null +++ b/.gitattributes @@ -0,0 +1,15 @@ +# The compendia in packs/ are LevelDB databases, and they are BINARY. +# +# Without this, a checkout on Windows (core.autocrlf=true, which is the Git for +# Windows default) rewrites packs/*/CURRENT from "MANIFEST-000002\n" to +# "MANIFEST-000002\r\n". LevelDB then tries to open a manifest whose filename +# ends in a carriage return, fails with "The filename, directory name, or volume +# label syntax is incorrect", and Foundry runs RepairDB across all eighteen packs +# on first launch. The packs are broken from the moment they are cloned and the +# only visible symptom is a pile of lost/ directories in git status. +# +# Linux and macOS checkouts are unaffected, which is why this went unnoticed. +packs/** -text -diff + +# Generated art is binary too; same reasoning, less catastrophic. +*.webp -text -diff