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

# Let's preserve original files (i.e. page_with_css_and_js.html_original
# that uses CRLF line endings), by asking git to treat them as binary.
*original* binary

# MHTML files in general should only have CRLF line endings
# (see RFC2557, section 10).
*.mht text eol=crlf

# While the overall structure of MHTML always uses CRLF, the MHTML parts
# that use binary encoding will preserve their original line endings
# (i.e. LF in case of the file below).  We tell git to treat this file
# as "binary" to preserve this weird mixture of CRLF and LF line endings.
multi_frames_binary.mht binary

