# https://help.github.com/articles/dealing-with-line-endings/
# https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes#Merge-Strategies

# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto

# Denote all files that are truly binary and should not be modified.
*.xtextbin 	binary
*.pdf 		binary
*.zip		binary
*.class         binary
*.dll           binary
*.ear           binary
*.gif           binary
*.ico           binary
*.jar           binary
*.jpg           binary
*.jpeg          binary
*.png           binary
*.so            binary
*.war           binary
*.ods		binary
*.odt		binary