From 70eae344da414e3a033bc1c72eaa85f89471a0fa Mon Sep 17 00:00:00 2001 From: SEBASTIAN JN Date: Sat, 11 Jan 2025 21:29:57 -0300 Subject: [PATCH] update .gitattributes --- .gitattributes | 139 +++++++++++++++++++++++++++---------------------- 1 file changed, 78 insertions(+), 61 deletions(-) diff --git a/.gitattributes b/.gitattributes index 1ff0c42..e41af4f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,63 +1,80 @@ -############################################################################### -# Set default behavior to automatically normalize line endings. -############################################################################### +# Set line endings configuration +# Ensure text files use LF line endings in the repository, but CRLF for Windows users * text=auto -############################################################################### -# Set default behavior for command prompt diff. -# -# This is need for earlier builds of msysgit that does not have it on by -# default for csharp files. -# Note: This is only used by command line -############################################################################### -#*.cs diff=csharp - -############################################################################### -# Set the merge driver for project and solution files -# -# Merging from the command prompt will add diff markers to the files if there -# are conflicts (Merging from VS is not affected by the settings below, in VS -# the diff markers are never inserted). Diff markers may cause the following -# file extensions to fail to load in VS. An alternative would be to treat -# these files as binary and thus will always conflict and require user -# intervention with every merge. To do so, just uncomment the entries below -############################################################################### -#*.sln merge=binary -#*.csproj merge=binary -#*.vbproj merge=binary -#*.vcxproj merge=binary -#*.vcproj merge=binary -#*.dbproj merge=binary -#*.fsproj merge=binary -#*.lsproj merge=binary -#*.wixproj merge=binary -#*.modelproj merge=binary -#*.sqlproj merge=binary -#*.wwaproj merge=binary - -############################################################################### -# behavior for image files -# -# image files are treated as binary by default. -############################################################################### -#*.jpg binary -#*.png binary -#*.gif binary - -############################################################################### -# diff behavior for common document formats -# -# Convert binary document formats to text before diffing them. This feature -# is only available from the command line. Turn it on by uncommenting the -# entries below. -############################################################################### -#*.doc diff=astextplain -#*.DOC diff=astextplain -#*.docx diff=astextplain -#*.DOCX diff=astextplain -#*.dot diff=astextplain -#*.DOT diff=astextplain -#*.pdf diff=astextplain -#*.PDF diff=astextplain -#*.rtf diff=astextplain -#*.RTF diff=astextplain +# Force specific files to use LF (Unix) line endings +*.sh text eol=lf +*.py text eol=lf +*.java text eol=lf + +# Force specific files to use CRLF (Windows) line endings +*.bat text eol=crlf +*.cmd text eol=crlf + +# Configure binary files to be treated as binaries (not text) +*.png binary +*.jpg binary +*.jpeg binary +*.gif binary +*.bmp binary +*.zip binary +*.tar binary +*.rar binary +*.pdf binary +*.exe binary + +# Ignore binary file diffs +*.pdf diff=astextplain +*.doc diff=astextplain + +# Custom merge strategy +# Lock files like package-lock.json or yarn.lock will use the "ours" merge strategy during merge +*.lock merge=ours + +# Image files (avoid merging) +*.png merge=binary +*.jpg merge=binary + +# Files that should be treated as binary (despite being text) +*.xlsx binary +*.docx binary +*.pptx binary + +# Configure text attributes for common text file types +*.md text +*.html text +*.css text +*.js text +*.json text +*.xml text + +# Configure attributes for certain configuration or build files +*.yml text +*.yaml text +*.toml text +*.ini text + +# Language-specific configurations for source code +*.go text eol=lf +*.cpp text eol=lf +*.h text eol=lf + +# Add support for automatic code formatting, like `clang-format` for C++ files +*.cpp filter=clang-format +*.h filter=clang-format + +# Configurations for IDE-specific files (avoid diff/merge) +*.sublime-workspace binary +*.sublime-project binary +*.idea/* binary +*.vscode/* binary + +# Git LFS (Large File Storage) for handling large files +# If you're using Git LFS for large files, add this configuration: +*.psd filter=lfs diff=lfs merge=lfs -text +*.mp4 filter=lfs diff=lfs merge=lfs -text + +# Avoid treating minified files as text +*.min.js binary +*.min.css binary +*.min.html binary