# Convert line endings to native line endings on checkout.
# Files for source code:
*.c          text
*.h          text
*.idl        text
*.java       text
*.jsp        text
*.lst        text
*.properties text
*.sql        text

# XML files:
*.fxml  text
*.gml   text
*.sld   text
*.xml   text
*.xsd   text
*.xsl   text

# Text or web files:
*.css   text
*.html  text
*.md    text
*.txt   text
*.xhtml text

# Batch files (system-dependent):
*.sh    text eol=lf
*.bat   text eol=crlf

# Raster data
*.asc   text
*.clr   text
*.hdr   text
*.prj   text
*.stx   text

# Denote files that are truly binary and should not be modified.
*.bmp   binary
*.class binary
*.dbf   binary
*.gif   binary
*.gsb   binary
*.jpg   binary
*.jpeg  binary
*.laa   binary
*.loa   binary
*.png   binary
*.raw   binary
*.rdb   binary
*.shp   binary
*.shx   binary
*.so    binary
*.tif   binary
*.tiff  binary
*.utf   binary
*.wkb   binary
*.xcu   binary
*.zip   binary
