###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto

# Path-list manifests are consumed by readarray/`cat | tr` word-splitting:
# CRLF conversion embeds \r into every path and breaks collection on Windows
# working trees. Pin LF so every checkout (CI incl.) is LF.
tests/critical_suite.txt text eol=lf

# Linux runtime scripts: CRLF breaks bash on Linux with confusing
# `set: -CR: invalid option` style errors (proven 2026-09-11 on WSL2:
# a Windows working-tree copy of mt5_runtime.sh failed every subcommand
# while still exiting 0 - masked breakage). Pin LF; the committed blobs
# are already LF, so this only affects future checkouts.
scripts/linux/*.sh text eol=lf

###############################################################################
# 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
installer/*.iss -text
tests/fast_suite.txt text eol=lf
tests/slow_suite.txt text eol=lf
