summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2018-12-01 21:46:51 +0000
committerEdward Thomson <ethomson@edwardthomson.com>2018-12-03 17:01:25 -0800
commit3d804063d902608145e9bac6c89e7ef644584edf (patch)
tree563525b6c0132a50dbaa6b1dbf3825b98a6fd91c
parenta0ab90b8819b86227c944050f223f05c19a12a39 (diff)
downloadlibgit2-3d804063d902608145e9bac6c89e7ef644584edf.tar.gz
crlf_data: add corpus of known-good odb-filtered data
Use the crlf data scripts to produce a corpus of known-good data in "git" format (aka ODB format) from a variety of files with different line endings. `git` created these files running `git add` to stage the contents then extracting the data from the repository. We'll use these to ensure that we create identical contents when we add files into the index.
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-all-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/HEAD1
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/branches0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-lf5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-crlf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-crlf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-lf-utf8bom.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-lf.fail1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/.gitattributes1
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-lf5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/zero-byte0
6257 files changed, 32690 insertions, 0 deletions
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-crlf.fail
new file mode 100644
index 000000000..26690f37e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..c6b706d60
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..3c6cbace0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-lf.fail
new file mode 100644
index 000000000..180663eca
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..f87ce3f16
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail
new file mode 100644
index 000000000..63eac58a4
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..a353e0e82
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr.fail
new file mode 100644
index 000000000..0287e3250
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-crlf.fail
new file mode 100644
index 000000000..26690f37e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..c6b706d60
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..3c6cbace0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-lf.fail
new file mode 100644
index 000000000..180663eca
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..f87ce3f16
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail
new file mode 100644
index 000000000..63eac58a4
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..a353e0e82
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail
new file mode 100644
index 000000000..0287e3250
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-crlf.fail
new file mode 100644
index 000000000..26690f37e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..c6b706d60
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..3c6cbace0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-crlf.fail
new file mode 100644
index 000000000..26690f37e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..c6b706d60
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..3c6cbace0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-crlf.fail
new file mode 100644
index 000000000..26690f37e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..c6b706d60
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..3c6cbace0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-lf.fail
new file mode 100644
index 000000000..180663eca
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..f87ce3f16
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail
new file mode 100644
index 000000000..63eac58a4
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..a353e0e82
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr.fail
new file mode 100644
index 000000000..0287e3250
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-crlf.fail
new file mode 100644
index 000000000..26690f37e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..c6b706d60
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..3c6cbace0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-lf.fail
new file mode 100644
index 000000000..180663eca
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..f87ce3f16
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail
new file mode 100644
index 000000000..63eac58a4
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..a353e0e82
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail
new file mode 100644
index 000000000..0287e3250
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-crlf.fail
new file mode 100644
index 000000000..26690f37e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..c6b706d60
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..3c6cbace0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-all-crlf.fail
new file mode 100644
index 000000000..26690f37e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..c6b706d60
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..3c6cbace0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-lf.fail
new file mode 100644
index 000000000..180663eca
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..f87ce3f16
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr.fail
new file mode 100644
index 000000000..63eac58a4
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..a353e0e82
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr.fail
new file mode 100644
index 000000000..0287e3250
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-lf.fail
new file mode 100644
index 000000000..180663eca
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..f87ce3f16
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail
new file mode 100644
index 000000000..63eac58a4
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..a353e0e82
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr.fail
new file mode 100644
index 000000000..0287e3250
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-crlf.fail
new file mode 100644
index 000000000..26690f37e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..c6b706d60
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..3c6cbace0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-lf.fail
new file mode 100644
index 000000000..180663eca
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..f87ce3f16
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail
new file mode 100644
index 000000000..63eac58a4
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..a353e0e82
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail
new file mode 100644
index 000000000..0287e3250
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-crlf.fail
new file mode 100644
index 000000000..26690f37e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..c6b706d60
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..3c6cbace0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-all-lf.fail
new file mode 100644
index 000000000..180663eca
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..f87ce3f16
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr.fail
new file mode 100644
index 000000000..63eac58a4
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..a353e0e82
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr.fail
new file mode 100644
index 000000000..0287e3250
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/HEAD b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/HEAD
new file mode 100644
index 000000000..cb089cd89
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/branches b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/branches
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/branches
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..aecf25037
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* -crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/.gitattributes
new file mode 100644
index 000000000..fa1385d99
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/.gitattributes
@@ -0,0 +1 @@
+* -text
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..e20264803
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..21fd7f251
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..fae8897c8
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..92be83e26
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..fcadb2cf9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/.gitattributes
new file mode 100644
index 000000000..9acf740d4
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..0c42f3cc2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..6313b56c5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/.gitattributes
new file mode 100644
index 000000000..176a458f9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..aecf25037
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* -crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/.gitattributes
new file mode 100644
index 000000000..fa1385d99
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/.gitattributes
@@ -0,0 +1 @@
+* -text
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..e20264803
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-lf.fail
new file mode 100644
index 000000000..180663eca
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..f87ce3f16
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr.fail
new file mode 100644
index 000000000..63eac58a4
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..a353e0e82
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr.fail
new file mode 100644
index 000000000..0287e3250
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..21fd7f251
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-lf.fail
new file mode 100644
index 000000000..180663eca
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..f87ce3f16
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail
new file mode 100644
index 000000000..63eac58a4
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..a353e0e82
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr.fail
new file mode 100644
index 000000000..0287e3250
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..fae8897c8
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-crlf.fail
new file mode 100644
index 000000000..26690f37e
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..c6b706d60
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..3c6cbace0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..92be83e26
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-lf.fail
new file mode 100644
index 000000000..180663eca
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..f87ce3f16
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail
new file mode 100644
index 000000000..63eac58a4
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..a353e0e82
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail
new file mode 100644
index 000000000..0287e3250
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..fcadb2cf9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-crlf.fail
new file mode 100644
index 000000000..26690f37e
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..c6b706d60
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..3c6cbace0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/.gitattributes
new file mode 100644
index 000000000..9acf740d4
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-all-lf.fail
new file mode 100644
index 000000000..180663eca
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..f87ce3f16
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr.fail
new file mode 100644
index 000000000..63eac58a4
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..a353e0e82
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr.fail
new file mode 100644
index 000000000..0287e3250
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..0c42f3cc2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..6313b56c5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/.gitattributes
new file mode 100644
index 000000000..176a458f9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..aecf25037
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* -crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/.gitattributes
new file mode 100644
index 000000000..fa1385d99
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/.gitattributes
@@ -0,0 +1 @@
+* -text
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..e20264803
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..21fd7f251
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..fae8897c8
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..92be83e26
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..fcadb2cf9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/.gitattributes
new file mode 100644
index 000000000..9acf740d4
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..0c42f3cc2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..6313b56c5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/.gitattributes
new file mode 100644
index 000000000..176a458f9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..aecf25037
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* -crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/.gitattributes
new file mode 100644
index 000000000..fa1385d99
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/.gitattributes
@@ -0,0 +1 @@
+* -text
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..e20264803
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..21fd7f251
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..fae8897c8
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..92be83e26
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..fcadb2cf9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/.gitattributes
new file mode 100644
index 000000000..9acf740d4
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..0c42f3cc2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..6313b56c5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/.gitattributes
new file mode 100644
index 000000000..176a458f9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..aecf25037
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* -crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/.gitattributes
new file mode 100644
index 000000000..fa1385d99
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/.gitattributes
@@ -0,0 +1 @@
+* -text
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..e20264803
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-crlf.fail
new file mode 100644
index 000000000..26690f37e
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..c6b706d60
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..3c6cbace0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..21fd7f251
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-lf.fail
new file mode 100644
index 000000000..180663eca
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..f87ce3f16
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail
new file mode 100644
index 000000000..63eac58a4
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..a353e0e82
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr.fail
new file mode 100644
index 000000000..0287e3250
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..fae8897c8
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-crlf.fail
new file mode 100644
index 000000000..26690f37e
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..c6b706d60
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..3c6cbace0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..92be83e26
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-lf.fail
new file mode 100644
index 000000000..180663eca
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..f87ce3f16
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail
new file mode 100644
index 000000000..63eac58a4
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..a353e0e82
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail
new file mode 100644
index 000000000..0287e3250
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..fcadb2cf9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-crlf.fail
new file mode 100644
index 000000000..26690f37e
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..c6b706d60
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..3c6cbace0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/.gitattributes
new file mode 100644
index 000000000..9acf740d4
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-all-crlf.fail
new file mode 100644
index 000000000..26690f37e
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..c6b706d60
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..3c6cbace0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..0c42f3cc2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..6313b56c5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/.gitattributes
new file mode 100644
index 000000000..176a458f9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..aecf25037
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* -crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/.gitattributes
new file mode 100644
index 000000000..fa1385d99
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/.gitattributes
@@ -0,0 +1 @@
+* -text
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..e20264803
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..21fd7f251
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..fae8897c8
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..92be83e26
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..fcadb2cf9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/.gitattributes
new file mode 100644
index 000000000..9acf740d4
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..0c42f3cc2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..6313b56c5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/.gitattributes
new file mode 100644
index 000000000..176a458f9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..aecf25037
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* -crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/.gitattributes
new file mode 100644
index 000000000..fa1385d99
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/.gitattributes
@@ -0,0 +1 @@
+* -text
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..e20264803
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..21fd7f251
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..fae8897c8
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..92be83e26
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..fcadb2cf9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/.gitattributes
new file mode 100644
index 000000000..9acf740d4
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..0c42f3cc2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..6313b56c5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/.gitattributes
new file mode 100644
index 000000000..176a458f9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..aecf25037
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* -crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/.gitattributes
new file mode 100644
index 000000000..fa1385d99
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/.gitattributes
@@ -0,0 +1 @@
+* -text
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..e20264803
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-lf.fail
new file mode 100644
index 000000000..180663eca
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..f87ce3f16
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr.fail
new file mode 100644
index 000000000..63eac58a4
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..a353e0e82
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr.fail
new file mode 100644
index 000000000..0287e3250
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..21fd7f251
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-lf.fail
new file mode 100644
index 000000000..180663eca
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..f87ce3f16
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail
new file mode 100644
index 000000000..63eac58a4
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..a353e0e82
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr.fail
new file mode 100644
index 000000000..0287e3250
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..fae8897c8
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-crlf.fail
new file mode 100644
index 000000000..26690f37e
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..c6b706d60
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..3c6cbace0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..92be83e26
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-lf.fail
new file mode 100644
index 000000000..180663eca
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..f87ce3f16
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail
new file mode 100644
index 000000000..63eac58a4
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..a353e0e82
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail
new file mode 100644
index 000000000..0287e3250
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..fcadb2cf9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-crlf.fail
new file mode 100644
index 000000000..26690f37e
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..c6b706d60
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..3c6cbace0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/.gitattributes
new file mode 100644
index 000000000..9acf740d4
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-all-lf.fail
new file mode 100644
index 000000000..180663eca
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..f87ce3f16
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr.fail
new file mode 100644
index 000000000..63eac58a4
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr-crlf.fail
new file mode 100644
index 000000000..a353e0e82
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr.fail
new file mode 100644
index 000000000..0287e3250
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'mixed-lf-cr'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..0c42f3cc2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..6313b56c5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail
new file mode 100644
index 000000000..213f972a6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf.fail
new file mode 100644
index 000000000..851ef6c77
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail
new file mode 100644
index 000000000..c23959d76
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail
new file mode 100644
index 000000000..2e093c93e
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..43b93dbe3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf.fail
new file mode 100644
index 000000000..b1a5dc9e5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail
new file mode 100644
index 000000000..13c4e3c58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf.fail
new file mode 100644
index 000000000..c964c725a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf.fail
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/.gitattributes
new file mode 100644
index 000000000..176a458f9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-lf-utf8bom.fail
new file mode 100644
index 000000000..547008e0f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-lf.fail
new file mode 100644
index 000000000..d992d4720
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-lf.fail
new file mode 100644
index 000000000..fabf46617
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-lf.fail
new file mode 100644
index 000000000..b874f4bb9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-crlf-utf8bom.fail
new file mode 100644
index 000000000..e77b2b976
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-crlf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-crlf.fail
new file mode 100644
index 000000000..07f50c353
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-crlf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-crlf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-lf-utf8bom.fail
new file mode 100644
index 000000000..6994a8d01
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-lf-utf8bom.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf-utf8bom'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-lf.fail
new file mode 100644
index 000000000..067a2e896
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-lf.fail
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..aecf25037
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* -crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/.gitattributes
new file mode 100644
index 000000000..fa1385d99
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/.gitattributes
@@ -0,0 +1 @@
+* -text
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..e20264803
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..21fd7f251
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..fae8897c8
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..92be83e26
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..fcadb2cf9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/.gitattributes
new file mode 100644
index 000000000..9acf740d4
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-crlf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/.gitattributes
new file mode 100644
index 000000000..0c42f3cc2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto eol=crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/.gitattributes
new file mode 100644
index 000000000..6313b56c5
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto eol=lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/.gitattributes b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/.gitattributes
new file mode 100644
index 000000000..176a458f9
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/.gitattributes
@@ -0,0 +1 @@
+* text=auto
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/_workdir/zero-byte
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-crlf
new file mode 100644
index 000000000..26e1a742b
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-crlf-utf8bom
new file mode 100644
index 000000000..32c6f22e3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-crlf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-crlf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-crlf
new file mode 100644
index 000000000..37bb7fa3d
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-crlf-utf8bom
new file mode 100644
index 000000000..16001a14a
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-lf
new file mode 100644
index 000000000..2cda6f203
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-lf-utf8bom
new file mode 100644
index 000000000..dc7d82aa0
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/zero-byte