# Auto detect text files and perform LF normalization
*        text=auto

*.cs     text diff=csharp
*.java   text diff=java
*.html   text diff=html
*.kt     text diff=kotlin
*.kts    text diff=kotlin
*.md     text diff=markdown
*.py     text diff=python executable
*.pl     text diff=perl executable
*.pm     text diff=perl
*.css    text diff=css
*.js     text
*.sql    text
*.q      text

*.sh     text eol=lf executable
gradlew  text eol=lf executable
sqlsh    text eol=lf executable
sqlline  text eol=lf executable

#test files, use lf so that size is same on windows as well
data/files/*.dat    text eol=lf

*.bat    text eol=crlf
*.cmd    text eol=crlf
*.csproj text merge=union eol=crlf
*.sln    text merge=union eol=crlf

# Take the union of the lines during merge
# It avoids false merge conflicts when different lines are added close to each other
# However, it might result in duplicate lines if two commits edit the same line differently.
# If different commits add exactly the same line, then merge produces only one line.
/core/src/main/resources/org/apache/calcite/runtime/CalciteResource.properties text merge=union
