# Text files are stored and checked out with LF line endings — the same as # .editorconfig describes them. Otherwise some files arrive with CRLF and edits # in them look like the whole file was rewritten * text=auto eol=lf # ========================================================================== # Git LFS # ========================================================================== # Git stores binary files in full for every version: a redrawn icon settles in # the history together with all its previous shapes. LFS keeps only a pointer # in the history and fetches the files themselves on checkout. # # Working with the repository requires git-lfs installed and a one-time # `git lfs install`. Without it the working copy will contain text pointer # files instead of the images. # # The -text flag is mandatory here: it forbids Git from touching the line # endings that are allowed for everything else above. # Application icon and MSIX package logos. They are drawn by # Packaging\New-Assets.ps1, and every run of the script produces whole new files *.png filter=lfs diff=lfs merge=lfs -text *.ico filter=lfs diff=lfs merge=lfs -text *.jpg filter=lfs diff=lfs merge=lfs -text *.jpeg filter=lfs diff=lfs merge=lfs -text *.gif filter=lfs diff=lfs merge=lfs -text *.bmp filter=lfs diff=lfs merge=lfs -text *.tif filter=lfs diff=lfs merge=lfs -text *.tiff filter=lfs diff=lfs merge=lfs -text *.webp filter=lfs diff=lfs merge=lfs -text # Windows packages and installers. The build puts them into artifacts\, where # Git does not pick them up, but a released version sometimes has to be attached # to a tag — they run into tens of megabytes, and their only place is LFS *.msix filter=lfs diff=lfs merge=lfs -text *.msixbundle filter=lfs diff=lfs merge=lfs -text *.appx filter=lfs diff=lfs merge=lfs -text *.appxbundle filter=lfs diff=lfs merge=lfs -text *.appxupload filter=lfs diff=lfs merge=lfs -text *.msi filter=lfs diff=lfs merge=lfs -text *.msp filter=lfs diff=lfs merge=lfs -text *.cab filter=lfs diff=lfs merge=lfs -text # Prebuilt binaries, in case one has to be attached to the repository *.dll filter=lfs diff=lfs merge=lfs -text *.exe filter=lfs diff=lfs merge=lfs -text # Fonts and archives *.ttf filter=lfs diff=lfs merge=lfs -text *.otf filter=lfs diff=lfs merge=lfs -text *.woff filter=lfs diff=lfs merge=lfs -text *.woff2 filter=lfs diff=lfs merge=lfs -text *.zip filter=lfs diff=lfs merge=lfs -text *.7z filter=lfs diff=lfs merge=lfs -text # ========================================================================== # Binary, but not in LFS # ========================================================================== # Signing keys never reach the repository — .gitignore keeps them out. The mark # is left in case such a file still ends up in the working copy: there is no # point in showing its contents in a diff *.pfx binary *.snk binary *.cer binary *.p12 binary